程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> zoj3784 String of Infinity 思維。。。

zoj3784 String of Infinity 思維。。。

編輯:C++入門知識

堂堂一道AC自動機被我們亂搞過了 目前zoj排名第一 從run memory目測還沒人像我們這樣搞的 笑死了

 

看題目第一遍不太懂第三個條件的意思。

通過樣例,第一個明顯no,第二個yes的構造方法應該是abbabbbabbbb……

由此我們想到,不管題目給定幾個字母,我們只要找到一個字母可以無限增長下去、一個字母有限,且兩個字母組合在一起不構成banned word

只要存在這樣兩個字母,那麼一定可以構造出來

 

#include
#include

const int maxlen=1e3+5;
int n,m,jud[30][30],vis[30];
char s[maxlen];
void check()
{
    int vvis[30],q[30],num=0;
    memset(vvis,0,sizeof(vvis));
    for (int i=0;s[i];i++)
    {
        vvis[s[i]-'a']++;
        if (vvis[s[i]-'a']==1)
            q[num++]=s[i]-'a';
    }
    if (num==2)
    {
        if (vvis[q[0]]==1)
            jud[q[1]][q[0]]=0;
        if (vvis[q[1]]==1)
            jud[q[0]][q[1]]=0;
    }
}
int main()
{
    int t;
    scanf("%d",&t);
    while (t--)
    {
        scanf("%d%d",&n,&m);
        for (int i=0;i

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved