小学生勇闯湖南某高校新生训练赛记

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;
}

END

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值