[ACM] 10032 Tugs of war

看板C_and_CPP作者 (你好)時間15年前 (2010/08/14 02:07), 編輯推噓1(105)
留言6則, 4人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 題號: ACM 10032 遇到的問題: WA 有問題的code: #include<stdio.h> #include<stdlib.h> int main(void){ int case_num; int p[100]; int i,j,k; int p_num; int temp; int team_a,team_b; /* 兩個 team 目前的體重和*/ int c_a,c_b; /* 兩個 team的人數 */ scanf("%d",&case_num); for ( i = 0 ; i < case_num ; i ++ ){ scanf("%d",&p_num); for ( j = 0 ; j < p_num ; j ++ ){ scanf("%d",&p[j]); } for ( j = 0 ; j < p_num ; j++ ){ for ( k = j+1 ; k < p_num ; k++ ){ if ( p[k] < p[j] ) { temp = p[j]; p[j] = p[k]; p[k] = temp; } } }/* sort */ team_a = 0; team_b = 0; c_a = 0; c_b = 0; j = 0 ; k = p_num-1; while ( j <= k ){ if ( c_a == 0 && c_b == 0 ){ team_a += p[k--]; team_b += p[k--]; c_a++; c_b++; } else if ( team_b > team_a && c_b > c_a ){ team_a += p[k--]; c_a++; } else if ( team_b > team_a && c_b < c_a ){ team_b += p[j++]; c_a++; } else if ( team_b > team_a && ( c_a == c_b ) ){ team_a += p[k--]; c_a++; } else if ( team_a > team_b && ( c_a > c_b ) ){ team_b += p[k--]; c_b++; } else if ( team_a > team_b && ( c_a < c_b ) ){ team_a += p[j++]; c_a++; } else if ( team_a > team_b && ( c_a == c_b ) ){ team_b += p[k--]; c_b++; } else if ( team_a == team_b && ( c_a == c_b ) ) { team_b += p[j++]; c_b++; } else if ( team_a == team_b && ( c_a < c_b ) ){ team_a += p[j++]; c_a++; } else { team_b += p[j++]; c_b++; } } if ( team_a > team_b )printf("%d %d\n\n",team_b,team_a); else printf("%d %d\n\n",team_a,team_b); } return 0; } 補充說明: 測了sample input 和自己想的測資都會對 但是放上去還是錯了 有爬文看板上之前也有一篇10032的解法 但是還是想知道我的解法為什麼錯了 我的想法是 一開始拿到資料後 先sort 然後把最大的兩個先分別塞給 team_a team_b 接下來每跑一次迴圈 就看team_a team_b 哪個大 以及目前的人數狀態 決定給大的值 或小的值 以及給哪個team 希望板上的高手可以幫我看一下 非常感激:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.217.179

08/14 03:05, , 1F
1 7 2 48 48 49 49 50 50 輸出 148 148
08/14 03:05, 1F

08/14 03:06, , 2F
(50+49+49一隊 50+48+48+2一隊)
08/14 03:06, 2F

08/14 03:06, , 3F
本題請愛用 DP
08/14 03:06, 3F

08/14 10:23, , 4F
如你所測的 這只是個假解 只能過爛測資的假解XD
08/14 10:23, 4F

08/14 12:21, , 5F
可以請問一下DP是什麼嗎XD?
08/14 12:21, 5F

08/14 12:23, , 6F
Dynamic Programming
08/14 12:23, 6F
文章代碼(AID): #1CPOdFpg (C_and_CPP)