pta L1-078 吉老師的迴歸
阿新 • • 發佈:2022-04-18
評價:謎一樣的題,讀題很費勁
題目連結: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 intmain() { 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 }