NOIP 2000 提高組 複賽 單詞接龍

2021-07-29 19:59:19 字數 1274 閱讀 5410

noip 2000 提高組 複賽 單詞接龍

1.程式編寫過程中,發現接龍處的判斷編寫有誤,馬上著手修改。

2.樣例通過,提交40分,錯了測試點1-4.

輸入:

1envelopee

輸出:

154.上述測試點是挺經典的,不容易考慮到。envelope envelope 拼接成envelopenvelope

5.歸根結底,還是接龍處的編寫出現嚴重失誤。

6.修改,提交,還錯測試點2-4.

輸入:

2abababab

abababca

輸出:

19經理解後,輸出結果應如下解釋:

abababab

abababab

abababc

8.應採用最小交疊,這樣輸出長度才最大,還是修改判斷接龍處函式。

9.修改提交,錯了測試點4,真是感慨,該題要考慮的情況真多啊,難不在深度優先遍歷,難在接龍處判定。

10.測試點4資料也挺奇葩,接了半天龍,單詞長度還不如單個的單詞長。

輸入: 8

nonew

name

never

national

necessary

evermen

輸出: 9

10.修改,提交ac。

11.該題奇難無比,不是難在深度優先遍歷,而是難在接龍處的判斷函式編寫,真是服了,原來可以這樣難。

附上ac**,編譯環境dev-c++4.9.9.2

#include

#include

int n;

char input[60][100];

char head[10];

int vis[60];

char dragon[3000];

char cur[100];

int max=0;

int cmp(char *first,char *second){

int len1,len2,i,j,k,len;

len1=strlen(first);

len2=strlen(second);

len=len1>len2?len2:len1;

if(strcmp(first,second)==0){

i=len1-1;

j=0;

while(i0){

vis[i]=1;

len=strlen(dragon);

len2=strlen(input[i]);

for(j=k;j

NOIP 2023年提高組複賽 單詞接龍

說起這道題就心酸,幾個資料特別坑,幾分鐘寫完的程式花了乙個上午除錯bug,吐槽完畢,進入正題 1,需要建立乙個標記陣列vis表示當前單詞被採取的次數 2,for迴圈中找到每乙個符合條件的龍頭,初始化標記陣列後進行深度優先搜尋 3,因為連線起來的單詞要最長,所以對比是選擇從上乙個單詞的末尾與當前單詞的...

NOIP2000提高組複賽C 單詞接龍

略注意點 1.字首和字尾的公共部分應該選最短的。2.如果兩個字串字首和字尾的公共部分恰好是其中乙個字串,那麼這兩個字串不能合併。1 include 2 using namespace std 34 define rep i,n for int i 0 i n i 5 define for i,s,t...

NOIP2000 提高組 複賽 進製轉換

noip2000 提高組 複賽 進製轉換 1.該題難在弄懂樣例,負進製,餘數為 0 2.試了一下,程式自帶的 發現對負進製轉換無用,得自個寫一套。3.弄懂了 15轉 2進製,餘數 0,商正負都可以。模擬如下 15除 2 8餘1 8除 2 4餘0 4除 2 2餘0 2除 2 1餘0 1除 2 1餘1 ...