D-这题用来防ak
tmn学长很喜欢说我悟了我这句话,一天他在写题时遇见了三个数, 分别是 a , b , c
如果他发现能从这三个数中取两个数的和是大于或者等于10的。
tmn学长便会立刻大声喊叫:“我悟了”
Input
第一行输入一个是 t (1≤t≤1000) ,代表测试用例的总数
每个测试用例的唯一一行包含三个数字 a , b , c (0<a,b,c<9)
Output
如果tmn学长说自己悟了,输出 "YES",否则输出 "NO" (没有引号)
Sample 1
Input Output
5 8 1 2 YES 4 4 5 NO 9 9 9 YES 0 0 0 NO 8 5 3 YES
Note
第一个样例 8 + 2 >= 10 ,所以输出YES
第二个样例 不能找到两个数>=10 所以输出NO (注意,我们不能选一个数字两次)
小学生对这题的思路
先输入个数,进入for循环,再输入三个数,用if判断他们之间的和 是否大于等于10。
小学生的代码
#include<iostream>
using namespace std;
int a,b,c,d;
int main(){
cin>>a;
for(int i=0;i<a;i++){
cin>>b>>c>>d;
if(b+c>=10||b+d>=10||c+d>=10)cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}
return 0;
}
I-爱派克斯,启动!
背景
众所周知,APEX是一款需要三人合作的大逃杀游戏,在遇到一支敌方小队时需要作出决定是打或者跑,因为三个人可能有不同的决策,所以制定了一个规则:假如三人中至少有两人选择打,那么就会与敌方小队开战,否则便会战略性撤退
某天,lhz,lcf,tmn三人上号三排,他们一共遇到了n只敌方小队,但是他们沉迷使用凤凰治疗包忘记了自己战斗了多少次,你能帮他们算一算吗?
输入
第一个输入行包含一个整数 n(1≤n≤1000)表示遇到的敌方小队的数量。然后 n 行,每行包含三个整数,每个整数是 0 或 1,分别表示lhz,lcf,tmn对于每支敌方小队的态度,如果等于 1,则说明想要开战,否则撤退
输出
输出一个整数,表示他们一共战斗了多少次。
示例
输入样例1 输出样例1
3 2
1 1 0
1 1 1
1 0 0
输入样例2 输出样例2
2 1
1 0 0
0 1 1
小学生的思路
输入一个数,用for循环输入三个数,如果它们的和大于等于2,计数器加一,最后输出
小学生的代码
#include<iostream>
using namespace std;
int a,b,c,d,f=0;
int main(){
cin>>a;
for(int i=0;i<a;i++){
cin>>b>>c>>d;
if(b+c+d>=2){
f++;
}
}
cout<<f<<endl;
return 0;
}
K-秋奕来买瓜
背景
夏天太热,秋奕决定到水果摊买一个西瓜解暑。他买了一个w千克的西瓜,并决定在现场把西瓜切成两半。秋奕对偶数情有独钟,因而希望西瓜切成两部分后的每一部分重量都是偶数千克,但并不一定要求两部分重量相等。于是有了下面一段对话:
秋奕:"老板,你这瓜有办法切成两部分的重量都是偶数吗?"
老板:"我开水果摊的,能卖你切不成全是偶数的瓜?"
秋奕:“那要是切不成怎么办?”
这时老板有点心虚了..... 老板害怕华强事件的悲剧再一次发生,于是想预先知道到底能不能,好提前准备。所以请你来帮助他判断卖出的西瓜能否按上述方式切分。
输入
输入的第一行 (也是唯一的行) 包含了整数 w (1 ≤ w ≤ 100) — 老板卖出的西瓜的重量。
输出
如果能够成功地将西瓜切分为两部分,使得每个部分的重量都是偶数千克,则输出 YES ;否则输出 NO 。
小学生的思路
所有数中只有非2的偶数才可以分成两个偶数,一个if就解决
小学生的代码
#include<iostream>
using namespace std;
int a;
int main(){
cin>>a;
if(a!=2&&a%2==0){
cout<<"YES";
}else{
cout<<"NO";
}
return 0;
}
F-这题考察二进制
题目描述
由于z学长去年8月底的训练打的很垃圾,所以他决定现在来折磨你们
z学长现在给你一个由 n个元素组成的二进制数组 a,二进制数组是一个只由0和1组成的数组。
空白是指仅由00组成的连续元素段。
你的任务是找出最长空白的长度。
输入格式
第一行包含一个单独的整数 t (1≤t≤1000) —— 测试用例的数量。
每个测试用例的第一行包含一个单独的整数 n (1≤n≤100) —— 数组的长度。
每个测试用例的第二行包含 nn 个用空格分隔的整数 ai (0≤ai≤1) —— 数组的元素。
输出格式
对于每个测试用例,输出一个单独的整数 nn —— 最长空白的长度。
小学生的思路
用for循环解决
小学生的代码
#include<iostream>
using namespace std;
int main(){
int a,b,c[101],d=0,e=0,f=0;
cin>>a;
for(int i=0;i<a;i++){
cin>>b;
f=0;
for(int j=0;j<b;j++){
cin>>c[j];
f+=c[j];
}
if(f==b){
cout<<"0"<<endl;
continue;
}
for(int j=0;j<b-1;j++){
if(c[j]==0&&c[j+1]==0){
d++;
}else{
if(d>e){
e=d;
}
d=0;
}
}
if(d>e){
e=d;
}
d=0;
cout<<e+1<<endl;
e=0;
}
return 0;
}