1 条题解
-
0
自动搬运
来自洛谷,原作者为

封禁用户
None搬运于
2025-08-24 22:45:19,当前版本为作者最后更新于2023-03-12 13:24:40,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
思路
输入 个字符串,将字符串的两项转为数字并存入一个二维数组。
定义一个二维数组存储每种题目的数量,每次输入后找到对应的项加上一。最后扫一
遍这个二维数组。扫描的时候要注意一下有 种题目要出现 次才可以。
详细思路请见代码。
Code:
#include<iostream> #include<algorithm> #include<cstdio> #include<cmath> using namespace std; int a[10][10];//第一项表示比赛编号,第二项表示题目编号 string s;//输入的题号,不用再说 int n; bool flag;//如果有空的项,就让flag=1,如果flag=1,输出NIE,否则输出TAK int main(){ cin>>n; if(n<18){ cout<<"NIE"; return 0;//如果n比18小,直接结束程序 } for(int i=1;i<=n;i++){ cin>>s; int sum=s[1]-64;//这里将字母转为数字,A转为1,B转为2,C转为3 a[s[0]-'0'][sum]++;//s[0]-'0'->字符转数字 } for(int i=1;i<=4;i++){//先判断前4次 for(int j=1;j<=3;j++){ if(a[i][j]<1) flag=1;//如果发现空的项,就让flag=1 } } if(a[5][1]<2||a[5][2]<2||a[5][3]<2) flag=1;//第五场比赛单独判断 if(flag==0) cout<<"TAK";//判断flag是否为1 else cout<<"NIE"; return 0; }感谢观看!
: 初次提交。
: 添加 公式/英文与汉字之间的空格以及句号,并细化思路。
最后感谢审核员提出的建议。
- 1
信息
- ID
- 8400
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 1
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者