[ACM] 107,127

看板C_and_CPP (C/C++)作者 (任劍翔)時間16年前 (2009/07/06 11:46), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
哈囉: 能不能請大大們幫我解釋一下第107題的意思: http://uva.onlinejudge.org/external/1/107.html 看不太懂他的測資,最後有125隻貓工作,那不是表示一次變出125隻嗎? 但是一開始的貓高度/126卻不是整數... 還有第127題: http://uva.onlinejudge.org/external/1/127.html 我先用gets讀入字串,再切成一個一個pile(char pile[52][105])然後用 無限迴圈一直判斷: for(i=0;;i++){ //check and move temp=0; for(j=1;j<52;j++){ if(j<3){ //只能跟左邊一張比,若是最上方一張的花色或數字一樣就... if(pile[j-1][strlen(pile[j-1])-2]==pile[j][strlen(pile[j])-2]||pile[j-1][strlen(pile[j-1])-1]==pile[j][strlen(pile[j])-1]){ pile[j-1][strlen(pile[j-1])]=pile[j][strlen(pile[j])-2]; //move to new pile[j-1][strlen(pile[j-1])+1]=pile[j][strlen(pile[j])-1]; pile[j][strlen(pile[j])-2]='\0'; //clear the old one pile[j][strlen(pile[j])-1]='\0'; if(strlen(pile[j])==0){ for(k=j+1;k<52;k++) if(strlen(pile[k])==0) break; //k為j之後共有多少堆? for(i=j;i<k;i++) strcpy(pile[i],pile[i+1]); } temp=1; } } else if(j>=3){ if(pile[j-3][strlen(pile[j-3])-2]==pile[j][strlen(pile[j])-2]||pile[j-3][strlen(pile[j-3])-1]==pile[j][strlen(pile[j])-1]){ pile[j-3][strlen(pile[j-3])]=pile[j][strlen(pile[j])-2]; //move to new pile[j-3][strlen(pile[j-3])+1]=pile[j][strlen(pile[j])-1]; pile[j][strlen(pile[j])-2]='\0'; //clear the old one pile[j][strlen(pile[j])-1]='\0'; if(strlen(pile[j])==0){ for(k=j+1;k<52;k++) if(strlen(pile[k])==0) break; //k為j之後共有多少堆? for(i=j;i<k;i++) strcpy(pile[i],pile[i+1]); } temp=2; } else if(pile[j-1][strlen(pile[j-1])-2]==pile[j][strlen(pile[j])-2]||pile[j-1][strlen(pile[j-1])-1]==pile[j][strlen(pile[j])-1]){ pile[j-1][strlen(pile[j-1])]=pile[j][strlen(pile[j])-2]; //move to new pile[j-1][strlen(pile[j-1])+1]=pile[j][strlen(pile[j])-1]; pile[j][strlen(pile[j])-2]='\0'; //clear the old one pile[j][strlen(pile[j])-1]='\0'; if(strlen(pile[j])==0){ for(k=j+1;k<52;k++) if(strlen(pile[k])==0) break; //k為共有多少堆? for(i=j;i<k;i++) strcpy(pile[i],pile[i+1]); } temp=3; } } } if(temp==0) break; } temp是用來判斷是不是還有繼續下去的必要,我這樣寫有哪裡沒有注意到嗎? 結果都是52 piles...,麻煩幫我解答一下吧! 感謝~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.164.106.195
文章代碼(AID): #1AKNEBYV (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
1
1
16年前, 07/06
完整討論串 (本文為第 1 之 2 篇):
1
1
16年前, 07/06
16年前, 07/06
文章代碼(AID): #1AKNEBYV (C_and_CPP)