C.Prefixes and Suffixes(string関数)
1214 ワード
タイトルリンク:https://codeforces.com/contest/1092/problem/C
2*n-2の文字のサブストリングをあげます.各サブストリングは接頭辞か接尾辞か、そこから推測させます.
問題解:私たちは直接最も長い2つのサブストリングを探して、明らかにこの2つから全体のストリングを出すことができます.
2*n-2の文字のサブストリングをあげます.各サブストリングは接頭辞か接尾辞か、そこから推測させます.
問題解:私たちは直接最も長い2つのサブストリングを探して、明らかにこの2つから全体のストリングを出すことができます.
#include
#include
#include
#include
#include
using namespace std;
bool book[200];
string s[200];
int main()
{
int n;
// ios::sync_with_stdio(0);
while(~scanf("%d",&n))
{
string s1="q",s2="r",P;
for(int i=1;i<=2*n-2;i++){
cin>>s[i];
if(s1.size()=(2*n-2)/2&&s1.substr(1,s1.size()-1)==s2.substr(0,s2.size()-1))
P=s1;
else P=s2;
memset(book,true,sizeof(book));
for(int i=1;i<=2*n-2;i++)
{
if(P.substr(0,s[i].size())==s[i]&&book[s[i].size()]){
printf("P");
book[s[i].size()]=0;
}
else
printf("S");
}
puts("");
}
return 0;
}