POJ 3080 Blue Jeans 暴力枚举+KMP

2014-11-23 22:30:53 ? 作者: ? 浏览: 4


这道题从昨天晚上开始做的,一直做到现在才过了,太坑了

看了别人才知道可以暴力枚举的,然后各种小错误,

哎……C语言的字符串函数学的不好啊……………………

还有一个他说 comes first in alphabetical order,我一看就是第一个出现的,结果wa好几次,然后看discuss,别人说字典序最小的,
然后果断在翻译一下,果然是的。


思路:

枚举第一个字符串,从长度为1的一直到60开始一个一个枚举,

直到长度为n所有字符串 在下面的字符串中至少有一个没有出现,结束。

中间还要记录字典序最小的。


AC代码:

#include    
#include    
#include    
#include    
#include    
#include    
#include    
#include    
#include    
#include    
#include    
#include    
#include    
#include    
#include    
#include    
using namespace std;  
  
char s[12][62];  
int n,wlen,next[62];  
char word[62];  
int be;  
  
void getnext(char *p)  
{  
    int j=0,k=-1;  
    next[0]=-1;  
    while(j>T;  
    while(T--)  
    {  
        scanf("%d",&n);  
  
        for(i=0;i0)  
                    {  
                        kkk=1;strcpy(pp,word);  
                    }  
                    g=1;  
                }  
            }  
            if(g==0)//当有i个字符的时候都没有匹配   
                break;  
        }  
        if(len<3)  
            printf("no significant commonalities\n");  
        else  
        {  
            printf("%s\n",pp);  
        }  
    }  
    return 0;  
}  

-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: