題目請參閱:http://www2.dmhs.kh.edu.tw/homework/q10963.htm我的程式碼如下(C++):#include
2006-09-25 07:23:40 · 1 個解答 · 發問者 Anonymous in 電腦與網際網路 ➔ 程式設計
#include < stdio.h >
int main()
{
int loop;
int W,hold,count;
int x,y,i;
scanf("%d",&loop);
while(loop--)
{
scanf("%d",&W);
count=1;
for(i=0;i
scanf("%d %d",&x,&y);
if(i==0)
hold=x-y+1;
else{
if(hold==x-y+1)
count++;
}
}
if(count==W)
printf("yes\n");
else
printf("no\n");
if(loop>0)
printf("\n");
}
return 0;
}
以你的想法來說是對的!....
但是我的判斷方法卻是用個counter去數是否相同的次數...
如果這個次數和寬度一樣的話就是yes!
你的code改成這種做法也會AC
還有y1不會小於y2...所以你不用加abs()
詳細的問題我會再看看!如果有發現再補充!
2006-09-25 19:37:15 補充:
我發現你的錯誤了...這也是你的程式和我的程式的差別!就是你沒有把資料完全讀完就輸出結果!這樣會影響到下一筆的結果.例如:31 02 0 <---你讀到這裡就判斷no1 0 <---第三筆你還沒讀完!於是1就被讀到w...然後就一直錯下去...當然就吃WA!
2006-09-25 15:28:36 · answer #1 · answered by ? 4 · 0⤊ 0⤋