1. 程式人生 > >貪心演算法之最短字首

貪心演算法之最短字首

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <string.h>
char str[1005][25];
int main()
{
    int t=0;
    while(scanf("%s",str[t])!=EOF)
    {
        t++;
    }
    for(int i=0;i<t;i++)
        str[i][strlen(str[i])] = '\0';
    for(int i=0;i<t;i++)
    {
        char ans[25];
        int j;
        for(j=1;j<strlen(str[i]);j++)
        {
            strcpy(ans,str[i]);
            ans[j] = '\0';
            int k;
            for( k=0;k<t;k++)
            {
                if(k==i)
                    continue;
                else
                {
                    char str2[25];
                    strcpy(str2,str[k]);
                    str2[j] = '\0';
                    if(strcmp(ans,str2)==0)
                        break;
                }
            }
            if(k==t)
                break;
        }
        if(j<strlen(str[i]))
            printf("%s %s\n",str[i],ans);
        else
            printf("%s %s\n",str[i],str[i]);
    }
    return 0;
}