本贴为第16次欢乐赛题解
2024-01-02 17:40:19
发布于:浙江
注:为ZhangCxuan在学校上X课时所写
2024年 1月 2 日 前三题!
T1 快乐新年
一道十十分分简单的水题
题目说道:
快过年了,不知道各位同学放假了没有呢?
现在给出以下表格,请各位同学输入对应日期,可以打印出对应农历称呼。
思路就是输出n 就输出对应的新年 :
用if else 或者 switch
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
switch (n) {
case 9:
cout << "除夕";
break;
case 10:
cout << "初一";
break;
case 11:
cout << "初二";
break;
case 12:
cout << "初三";
break;
case 13:
cout << "初四";
break;
case 14:
cout << "初五";
break;
case 15:
cout << "初六";
break;
case 16:
cout << "初七";
break;
}
return 0;
}
T2 优才选拔
思路是algorithm 里sort后的cmp函数
注意要看清题目 哦
代码是就是多多特判 代码如下:
#include <iostream>
#include <algorithm>
using namespace std;
struct ikun{
string name;
int ans1;
int ans2;
};ikun a[114514] = {};
bool cmp(ikun x,ikun y) {
if (x.ans1 == y.ans1) {
if ((x.ans1 == y.ans1) && (x.ans2 == y.ans2 )) {
return x.name < y.name;
}
else {
return x.ans2 > y.ans2;
}
} else {
return x.ans1 > y.ans1 ;
}
}
int main() {
int n;
cin >> n;
for (int i = 1;i <= n;i ++) {
cin >> a[i].name;
cin >> a[i].ans1;
cin >> a[i].ans2;
}
sort(a+1,a+1+n,cmp);
for (int i = 1;i <= n;i ++ ) {
if (a[i].ans1 >= 60 && a[i].ans2 >= 60){
cout << a[i].name << "\n";
}
}
return 0;
}
T3 答题卡
思路就是用二维数组,开三个二维
一个是 错误的 一个是 对的 一个是 答案
代码如下:
#include <iostream>
#include <algorithm>
using namespace std;
char wrong[1005][1005],true_[1005][1005],ans[1005][1005];
int main() {
int n,mx=0,mn=0,sum=1;
cin >> n;
for (int i = 1;i <= n;i ++) {
for (int j = 1;j <= n;j ++) {
cin >> wrong[i][j];
}
}
for (int i = 1;i <= n;i ++) {
for (int j = 1;j <= n;j ++) {
cin >> ans[i][j];
}
}
for (int i = 1;i <= n;i ++) {
for (int j = 1;j <= n;j ++) {
true_[i][j] = wrong[j][i];
}
}
for (int i = 1;i <= n;i ++) {
for (int j = 1;j <= n;j ++) {
if (ans[i][j] == '+') {
if (wrong[i][j] == true_[i][j]) {
mx += 1;
mn += 1;
}
}
if (ans[i][j] == '-') {
if (wrong[i][j] != true_[i][j]) {
mx += 1;
}
}
if (ans[i][j] == '?') {
mx += 1;
}
}
}
cout << mx << " " << mn;
return 0;
}
因为下面的题比较难 我下一期发 谢谢
这里空空如也
有帮助,赞一个