欢乐赛#41全题解(doge)
2025-02-16 22:38:36
发布于:河北
#include<iostream>
using namespace std;
int main(){
int a;
cin>>a;
cout<<a;
return 0;
}
由于 int 直接 抹掉小数点后面的数,所以直接输入输出[doge]
T2
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c;
cin>>a>>b>>c;
int max_val=max(max(a,b),c);
int min_val=min(min(a,b),c);
cout<<max_val-min_val;
return 0;
}
max求最大数,min求最小数,再进行减法,就完事了.jpg
T3
#include<iostream>
using namespace std;
int main() {
int n,m,cnt=0;
cin>> n>> m;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < n; ++j) {
int num;
cin>>num;
if (num % m == 0)cnt++;
}
}
cout << cnt << endl;
return 0;
}
计数即可。
T4
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<int> A(n);
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] << " ";
}
cout << endl;
return 0;
}
仁济冒泡,谁都会。
T5
#include <iostream>
using namespace std;
int main() {
int T;
cin >> T;
while (T--) {
int a, b, cnt = 0;
cin >> a >> b;
while (b > a) {
if (b % 2 == 0) b /= 2;
else b += 1;
cnt++;
}
cnt += (a - b);
cout << cnt << endl;
}
return 0;
}
T6
迷惑性过大,人话就是糖太多了,1版本:
#include <iostream>
using namespace std;
int main() {
int T;
cin >> T;
while (T--) {
int a, b;
cin >> a >> b;
int t1 = min(a, b / 2);
int t2 = min(b, a / 2);
cout << max(t1, t2) << endl;
}
return 0;
}
数据不够.jpg
二版本:
#include <iostream>
#include <algorithm>
using namespace std;
int maxTeams(int a, int b) {
int teams = 0;
if (a > b) {
int teams1 = min(b, a / 2);
teams += teams1;
a -= 2 * teams1;
b -= teams1;
}
else {
int teams2 = min(a, b / 2);
teams += teams2;
a -= teams2;
b -= 2 * teams2;
}
if (a >= 2 && b >= 1) {
teams += min(a / 2, b);
} else if (b >= 2 && a >= 1) {
teams += min(b / 2, a);
}
return teams;
}
int main() {
int T;
cin >> T;
while (T--) {
int a, b;
cin >> a >> b;
cout << maxTeams(a, b) << endl;
}
return 0;
}
还**是.jpg
后来,暴力出奇迹:
#include <iostream>
#include <algorithm>
using namespace std;
int maxTeams(int a, int b) {
int total = (a + b) / 3;
total = min(total, min(a, b));
return total;
}
int main() {
int T;
cin >> T;
while (T--) {
int a, b;
cin >> a >> b;
cout << maxTeams(a, b) << endl;
}
return 0;
}
到此结束.jpg
这里空空如也
有帮助,赞一个