1077 Kuchiguse (20分)——测试点1未过
#include <iostream> #include <cstring> using namespace std; int main() { int N; cin >> N; char ch; int k = -1; char(*s)[300] = new char[101][300]; int len[101] = { 0 }; cin.get();//接收换行符 for (int i = 0; i < N; ++i) { int t = 0; while (ch = cin.get()) { if (ch == '\n')break; s[i][t++] = ch; } s[i][t] = '\0'; len[i] = strlen(s[i]); } int finish = 0; for (int j = 0; j <= len[0] && !finish; ++j)//考虑整个字符串作为后缀,<=len[0] for (int i = 1; i < N && !finish; ++i) { int temp = len[i] - 1 - j; if (temp < 0 || (s[i][temp] != s[0][len[0] - 1 - j])) { k = j; finish = 1; } } if (!k) { cout << "tai"; } else { for(int i=len[0]-k; i<len[0]; ++i) { cout << s[0][i]; } } return 0; }