评价:谜一样的题,读题很费劲
题目链接:https://pintia.cn/problem-sets/994805046380707840/problems/1386335159927652357
其实这道题归根结底还是模拟,只不过读题有些费劲
其实按照题目要求来就是了;
题目说要求吉老师正在做的题,那就判断一下吉老师前面已经过了多少“不简单的题”,拿第一个样例来说,
L1-3是吉老师做的第一个“不简单的题”,所以说吉老师目前正在攻关第四题;
那这样就很明显了,如果吉老师做的题目已经等于他做过的题目加一,那输出当前的字符串就是吉老师当前正在做的;
如果吉老师做过的不简单的题在他做过的题的范围以内,那就证明了吉老师已经做完,即AK,
这样理解,在把第一个样例揪出来,我们这次设m是3;
可以看到,在这5个题目里有两个是“不简单的题”,而吉老师只做“不简单的题”,这就说明吉老师已经把“不简单的题”做完了;对,就是这样
需要注意的是,这里用了字符串查找STL函数
不得不说的是,字符串STL在竞赛中应用还是一个比较广泛的知识点考察,今天晚上我或许会整理一下字符串STL的相关知识
Talk is cheap. Show me the code.
1 #include<bits/stdc++.h> 2 using namespace std; 3 int n,m; 4 int cnt;//统计做过的不简单的题个数 5 int main() { 6 cin>>n>>m; 7 getchar(); 8 for(int i=0; i<n; i++) 9 { 10 string s; 11 getline(cin,s); 12 if(s.find("qiandao")==s.npos&&s.find("easy")==s.npos) //判断是否含有“easy"与"qiandao" 13 { 14 cnt++; 15 if(cnt==m+1)//如果吉老师做到了已做过的题的下一个 16 { 17 cout<<s<<endl;//这是吉老师正在做的题 18 } 19 } 20 } 21 if(cnt<=m)//在这个范围内就AK; 22 cout<<"Wo AK le/n"; 23 return 0; 24 }
原创文章,作者:Carrie001128,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/245734.html