1077 Kuchiguse (20 分)
思路
获得尾部公共最长字符串
先翻转,从首部开始比较
翻转参考代码链接🔗
读取字符串带有空格需要使用getchar配合getline使用,char数组和string类型的getline不一样
char字符数组如下
getchar();
char input_str[100]; //输入有空格的一行。cin默认以空格结束
cin.getline(input_str[0]);
string字符串如下
getchar();
string strs[105];
getline(cin,strs[i]);
代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n ;
string strs[105];
int len = 1000;
getchar();
for (int i=0;i<n;i++)
{
getline(cin,strs[i]);
if(strs[i].size()<len)
len = strs[i].size();
reverse(strs[i].begin(),strs[i].end());
}
int out = 0;
int i=0;
for ( i =0 ;i<len ;i++)
{
char ch = strs[0][i];
for(int j = 0;j<n;j++)
{
if(strs[j][i] != ch)
{
out = 1;
break;
}
}
if(out)
break;
}
if (i==0)
cout<<"nai";
else
for(int j =i-1;j>=0;j--)
cout<<strs[0][j];
/*
getchar();
char input_str[100]; //输入有空格的一行。cin默认以空格结束
cin.getline(input_str[0]);
cout<<strs[0]<<endl;
*/
}