文章

3

粉丝

36

获赞

6

访问

2.2k

头像
C++简单模拟
P1098 中山大学2018年机试
发布于2023年6月29日 19:19
阅读数 712

题目数据范围很小,可以直接暴力枚举做,时间复杂度O(n^2)

#include<iostream>
#include<cstring>
using namespace std;

const int N = 200;
string s[N];
string h[N];

bool is_pre(string s1, string s2)
{
    bool flag = true;
    string a, b;
    if(s1.size()<s2.size()) a = s1, b = s2;
    else a = s2, b = s1;
    for(int i=0;i<a.size();i++)
    {
        if(a[i]!=b[i]){
            flag = false;
            break;
        }
    }
    return flag;
}

int main()
{
    int n;
    while(cin>>n)
    {
        if(n==0) break;
        for(int i=0;i<n;i++) cin>>s[i];
        h[0] = s[0];
        int cnt = 1;
        for(int i=1;i<n;i++)
        {
            bool flag = true;
            for(int j=0;j<cnt;j++)
            {
                if(is_pre(s[i], h[j]))
                {
                    flag = false;
                    if(s[i].size()>h[j].size())  h[j] = s[i];
                    break;
                }
            }...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发