贪心算法之最短前缀

#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;
}

阅读更多
个人分类: 贪心 字符串
上一篇贪心之金银岛
下一篇贪心之最小新整数
想对作者说点什么? 我来说一句

贪心算法求解哈密顿回路

2009年09月22日 2KB 下载

没有更多推荐了,返回首页

关闭
关闭