[問題] ACM 10903

看板C_and_CPP (C/C++)作者 (BMW)時間17年前 (2009/04/09 01:03), 編輯推噓2(2010)
留言12則, 2人參與, 最新討論串1/2 (看更多)
題目出處:http://luckycat.kshs.kh.edu.tw/homework/q10903.htm 小弟我這題試了許久,一直找不到為什麼WA, 一開始一直以為是資測間沒空行, 可是改正之後還是不行~ 麻煩各位高手解惑~感激不盡!! CODE: #include<stdio.h> int main() { int n,k,i,j=0; int p,q; float kk; char b[8],a[8]; while(scanf("%d",&n)){ if(n==0) return 0; scanf("%d",&k); if(j>0) printf("\n");/*資測間空行*/ j++; int pl[101][2]={0};/*這邊[101][0]後面的兩個陣列[0]是用來記勝場數*/ /*[1]是用來記敗場數*/ for(i=0;i<k*n*(n-1)/2;i++){ scanf("%d %s %d %s",&p,a,&q,b); if(a[0]=='s'&&b[0]=='p'){/*剪刀(p1)對布(p2)*/ pl[p][0]++; pl[q][1]++; } else if(a[0]=='p'&&b[0]=='r'){/*布(p1)對石頭(p2)*/ pl[p][0]++; pl[q][1]++; } else if(a[0]=='r'&&b[0]=='s'){/*石頭(p1)對剪刀(p2)*/ pl[p][0]++; pl[q][1]++; } else if(a[0]=='s'&&b[0]=='r'){/*剪刀(p1)對石頭(p2)*/ pl[p][1]++; pl[q][0]++; } else if(a[0]=='p'&&b[0]=='s'){/*布(p1)對剪刀(p2)*/ pl[p][1]++; pl[q][0]++; } else if(a[0]=='r'&&b[0]=='p'){/*石頭(p1)對布(p2)*/ pl[p][1]++; pl[q][0]++; } } for(i=1;i<=n;i++){ /*印出答案*/ kk = pl[i][0]+pl[i][1]; if(!kk) printf("-\n"); else{ kk = pl[i][0]/kk; printf("%.3f\n",kk); } } } return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.225.1.203

04/09 01:30, , 1F
!kk, 勝負的邏輯有誤要重新檢視
04/09 01:30, 1F

04/09 01:54, , 2F
是說剪刀石頭布那邊!? 還是最下面的計算!?
04/09 01:54, 2F

04/09 02:13, , 3F
勝負之後要歸零重記錄
04/09 02:13, 3F

04/09 02:23, , 4F
不是很了解耶@~@" 是說我陣列要再次歸零嗎?
04/09 02:23, 4F

04/09 02:24, , 5F
不歸零不就一直++, 後面兩三場的遊戲就不正確
04/09 02:24, 5F
※ 編輯: lanborghini 來自: 125.225.1.203 (04/09 02:29)

04/09 02:30, , 6F
事實上一開始的時候我寫成這樣(就是上面那個修正版)
04/09 02:30, 6F

04/09 02:30, , 7F
可以試著動態分配記憶體給每位玩家,不然[101]挺奢侈的
04/09 02:30, 7F

04/09 02:30, , 8F
不過還是有問題,所以我po的時候又改回來了 囧~
04/09 02:30, 8F

04/09 02:38, , 9F
那就試著改成沒有問題的壓 ̄︶ ̄
04/09 02:38, 9F

04/09 02:39, , 10F
囧正在試……
04/09 02:39, 10F

04/09 02:41, , 11F
那你的if(!kk)有沒有改?我試是沒有問題,code討厭你吧
04/09 02:41, 11F

04/09 02:44, , 12F
有改耶~~~ 不過還是不行 (驚~
04/09 02:44, 12F
※ 編輯: lanborghini 來自: 125.225.1.203 (04/09 02:44)
文章代碼(AID): #19tDZc1- (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
1
3
完整討論串 (本文為第 1 之 2 篇):
1
3
2
12
文章代碼(AID): #19tDZc1- (C_and_CPP)