![cover](https://img-blog.csdnimg.cn/img_convert/0022358d286a4441aeb84c4c25b87e4f.png)
合肥市经开区2022年信息学竞赛试题 车辆统计(car)题解
安徽省合肥市经开区2022年信息学竞赛试题 车辆统计(car)
·
经开区2022年信息学竞赛试题
一等奖分数线:130分
题目比较水,只有四题,而且三题都是水题
此些题适合新手来刷刷经验(等等我自己不就是新手嘛!)
咳咳,话不多说,切入正题
车辆统计(car)
题目描述 Description
国豪家的小区旁边有个 T 字型的路口。暑假的时候,国豪会坐到路口旁边的树荫下纳凉。有时候,他一边纳凉,一边会观察从路口驶过的汽车,他发现大部分司机都严格遵守交通规则,在绿灯的时候通过路口,还有一些司机会抢着黄灯冲过路口,这样做其实挺危险,更有甚者,有少部分司机会无视红灯的存在,直接闯红灯通过路口,看得国豪心惊肉跳。现在给出某段时间国豪观察的车辆通过情况,请你统计绿灯、黄灯、红灯三种情况下通过的车辆数。
输入描述 Input Description
由 green、yellow、red 三个单词构成的字符串,分别表示一辆车在
绿色、黄色、红色的交通灯下经过路口。输出描述 Output Description
一行三个整数,表示绿灯、黄灯、红灯三种情况下通过的车辆数。
样例输入 Sample Input
greengreenyellowgreenredgreenyellow
样例输出 Sample Output
4 2 1
数据范围及提示 Data Size & Hint
说明:
整个字符串有 4 个 green,2 个 yellow 和 1 个red,说明有 4 辆车在绿灯的情况下通过,有 2 辆车在黄灯的情况下通过,有 1 辆车在红灯的情况下通过。数据范围:
3<=字符串的长度<=10000
好家伙,拿出来一看,字符串!
题目意思就是统计下green,yellow和red三个单词的个数并输出
附上勉强AC的蒟蒻代码
#include<bits/stdc++.h>//万能头
using namespace std;
int g,y,r;
string s;
int main(){
cin>>s;
int len=s.size();//求字符串长度
for(int i=0;i<len;i++){//遍历字符串
if(s[i]=='g'&&s[i+1]=='r'&&s[i+2]=='e'&&s[i+3]=='e'&&s[i+4]=='n'){//判断当前和后面四个字符是否组成green
g++;//计数器加加
}
else if(s[i]=='y'&&s[i+1]=='e'&&s[i+2]=='l'&&s[i+3]=='l'&&s[i+4]=='o'&&s[i+5]=='w'){//判断当前和后面五个字符是否组成yellow
y++;//计数器
}
else if(s[i]=='r'&&s[i+1]=='e'&&s[i+2]=='d'){//判断当前和后面两个字符是否组成red
r++;//计数器
}
}
cout<<g<<" "<<y<<" "<<r<<" ";//华丽输出
return 0;
}
此题祝AC!
更多推荐
所有评论(0)