PAT甲级1077 Kuchiguse (20 分)(cin.ignore()吃掉输入n以后的回车接着用getine(cin,s[i])输入N行字符串)
Posted ldudxy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT甲级1077 Kuchiguse (20 分)(cin.ignore()吃掉输入n以后的回车接着用getine(cin,s[i])输入N行字符串)相关的知识,希望对你有一定的参考价值。
题意:
输入一个正整数N(<=100),接着输入N行字符串。输出N行字符串的最长公共后缀,否则输出nai。
代码:
#include<bits/stdc++.h>
using namespace std;
string s[107];
int length[107];
char ans[307];
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n;
cin>>n;
cin.ignore();
int mn=999999;
for(int i=1;i<=n;++i){
getline(cin,s[i]);
length[i]=s[i].size();
mn=min(mn,length[i]);
}
int cnt=0;
for(int x=1;x<=mn;++x){
int flag=0;
for(int i=2;i<=n;++i){
if(s[i][length[i]-x]!=s[i-1][length[i-1]-x]){
flag=1;
break;
}
}
if(flag)
break;
ans[++cnt]=s[1][length[1]-x];
}
if(!cnt)
cout<<"nai";
else
for(int i=cnt;i;--i)
cout<<ans[i];
return 0;
}
以上是关于PAT甲级1077 Kuchiguse (20 分)(cin.ignore()吃掉输入n以后的回车接着用getine(cin,s[i])输入N行字符串)的主要内容,如果未能解决你的问题,请参考以下文章