1011: 容易的题(2015年中南大学研究生复试机试题 )
1011: 容易的题
时间限制: 1 Sec 内存限制: 128 MB提交: 221 解决: 72
[提交] [状态] [讨论版] [命题人:外部导入]
题目描述
大家都很关心考试难易程度。K老师出题有一个规律,在出题之前,他会随机写下一个字符
串,只要这个字符串中能按顺序找到E,A,S,Y四个字母。他出题就会比较简单。你拿到了这个
字符串,请你告诉考试的题目难不难吧。
串,只要这个字符串中能按顺序找到E,A,S,Y四个字母。他出题就会比较简单。你拿到了这个
字符串,请你告诉考试的题目难不难吧。
输入
输入数据有多组,每组占一行,由一个字符串组成(字符串的长度不超过1000)
输出
对于每组输入,输出一行,对应一个要求的答案(题目容易就输出easy,难就输出difficult)。
样例输入
eAsy
SEoAtSNY
样例输出
difficult
easy
1 #include<iostream>
2 #include<string>
3 #include<string.h>
4 using namespace std;
5
6 int main(){
7 string str,strtest="EASY";
8 while(cin>>str){
9 int strlen=str.length();
10 //进行字符串匹配
11 int count=0;//计数匹配成功的个数
12 for(int i=0;i<strlen;i++){
13 //cout<<str.at(i)<<" "<<strtest.at(count)<<endl;
14 if(str.at(i)==strtest.at(count)){
15 count++;
16 if(count==4){//报RUNTIME ERROR错的原因:当输入是EASYSS之类的,
17 //匹配完之后后面还有字符,此时count已经为4,而strtest.at(4)越界
18 //以后涉及下标时要小心发生越界
19 break;
20 }
21 }
22 }
23 if(count==4){
24 cout<<"easy"<<endl;
25 }
26 else{
27 cout<<"difficult"<<endl;
28 }
29 }
30 return 0;
31 }