题解:P12035 [USTCPC 2025] Hackergame
_____Elysia_____ · · 题解
字符串的入门题。
根据题目要求一个 flag 的长度至少是
然后我们枚举字符串从第 flag{,就进入下一层判断。
下一层判断是从 flag{ 右边一个字符开始,如果找到一个 { 就说明后面不可能有合法的 flag 了,直接跳过。如果找到 },就说明这是一个合法的 flag,输出就行。
最后如果没有合法的 flag,输出 NOT FOUND。
#include<iostream>
using namespace std;
int main(){
string s;
cin>>s;
if(s.size()<6){
cout<<"NOT FOUND";
return 0;
}
for(int i=0;i<=s.size()-5;i++){
if(s.substr(i,5)=="flag{"){
for(int j=i+5;j<s.size();j++){
if(s[j]=='{')break;
if(s[j]=='}'){
cout<<s.substr(i,j-i+1);
return 0;
}
}
}
}
cout<<"NOT FOUND";
}