注意以下几点
1.find()函数的用法,会找到匹配的字符串,找到返回第一次出现的首地址,找不到则返回-1;这样就可以使代码更加的简练。
2.审清楚题:把吉老师说的话分为两大类 一类为不用敲的简单题,另一类为用敲的难题,第一行给的第二个数代表y的是已经做了几道题
只需统计做了几道难题cnt,当cnt>y时就代表前面已经找到了y道题,表示找到了正在做的难题,如果没有说明这道题为简单题不符合要求,继续读入下一个语句直到找到难题,如果一直没有说明剩下都是简单题直接AK。
3.最后AK的判断必须写在while的外面,只有都遍历一遍才能知道是否能AK(开关位置的重要性)
#include<iostream>
#pragma GCC optimize(2)
#include<algorithm>
#include<cstring>
#include <cmath>
#include<vector>
#define PII pair<int><int>
#define ll long long
#define endl "\n"
using namespace std;
const int N=1e6+10;
vector<char> str1;
int x,y,cnt=0,prime=1;
int main()
{
cin>>x>>y;
getchar();
while(x--)
{
string s;
getline(cin,s);
if(s.find("qiandao")!=-1||s.find("easy")!=-1 )
continue;
else cnt++; //记录的是前面
if(cnt>y)
{
cout<<s;
prime=0;
}
}
if(prime) cout<<"Wo AK le";
return 0;
}