欢乐赛#41题解
2025-02-17 18:16:13
发布于:江西
T1
输出整数部分相当于向下取整
# include <bits/stdc++.h>
using namespace std ;
int main ( )
{
double a;
cin>>a;
cout<<floor(a);
return 0 ;
}
时间复杂度:
T2
差值最大就是最大值减最小值
# include <bits/stdc++.h>
using namespace std ;
int main ( )
{
int a,b,c;
cin>>a>>b>>c;
cout<<max(a,max(b,c))-min(a,min(b,c));
return 0 ;
}
时间复杂度:
T3
遍历,找m的倍数
# include <bits/stdc++.h>
using namespace std ;
int a[1000][1000];
int main ( )
{
int n,m,ct=0;
cin>>n>>m;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>a[i][j];
if(a[i][j]%m==0) ct++;
}
}
cout<<ct;
return 0 ;
}
时间复杂度:
T4
冒泡排序,外层变m
# include <bits/stdc++.h>
using namespace std ;
int a[1000];
int main ( )
{
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++) cin>>a[i];
for(int i=0;i<m;i++){
for(int j=0;j<n-i-1;j++){
if(a[j]>a[j+1]) swap(a[j],a[j+1]);
}
}
for(int i=0;i<n;i++) cout<<a[i]<<" ";
return 0 ;
}
时间复杂度:
T5
逆向更快
我绝对不会告诉你们正向不行
# include <bits/stdc++.h>
using namespace std ;
int main ( )
{
int T;
cin>>T;
while(T--){
int a,b,ans=0;
cin>>a>>b;
if(a>=b) cout<<a-b;
else{
while(a!=b){
if(b>a&&b%2==0) b/=2;
else b++;
ans++;
}
cout<<ans;
}
cout<<endl;
}
return 0 ;
}
时间复杂度:
T6
天降公式doge
# include <bits/stdc++.h>
using namespace std ;
int main ( )
{
int T;
cin>>T;
while(T--){
int a,b;
cin>>a>>b;
cout<<min((a+b)/3,min(a,b))<<endl;
}
return 0 ;
}
时间复杂度:
这里空空如也
有帮助,赞一个