ACM模版

描述

题解

理论上直接 string 就是完全可以的啊,不知道为啥一直 WA TLE ,解绑定也不行,最后我只好用 char[] 来读取输出,十分纳闷儿啊……不是特别理解之前为啥一直 WA TLE

代码

#include <cstdio>
#include <cstring>
#include <string>
#include <iostream>
#include <algorithm>

using namespace std;

const int MAXN = 1e5 + 10;

int n;
char s[MAXN];
string ss[MAXN];

int main()
{
    int T;
    scanf("%d", &T);

    while (T--)
    {
        scanf("%d", &n);

        int tag = 0;
        for (int i = 0; i < n; i++)
        {
            scanf("%s", s);
            ss[i] = s;
            if (ss[i].length() > ss[tag].length())
            {
                tag = i;
            }
        }

        bool flag = true;
        for (int i = 0; i < n; i++)
        {
            if (i != tag)
            {
                if (ss[tag].find(ss[i], 0) == string::npos)
                {
                    flag = false;
                    break;
                }
            }
        }

        if (flag)
        {
            printf("%s\n", ss[tag].c_str());
        }
        else
        {
            printf("No\n");
        }
    }

    return 0;
}