ZOJ 1057 Undercut(简单模拟)
生活随笔
收集整理的這篇文章主要介紹了
ZOJ 1057 Undercut(简单模拟)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Undercut
題目鏈接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=57
題目大意:a card game,two player,每個player有n張牌,按順序出牌,如果2張牌的點數相等,2個player都不得分;如果2張牌點數相差1,點數大的player得分為2張牌的點數和;如果2張牌的點數相差超過1,點數大的player得分為點數大的牌的點數;特殊情況,如果2張牌的點數分別為1和2,持2的player得分為6而不是3;給出2個player各n張牌的點數,要求輸出每個player的得分情況
代碼如下:
1 # include<stdio.h> 2 # include<string.h> 3 int main(){ 4 bool first = true; 5 int n,i; 6 int a[20],b[20]; 7 while(scanf("%d",&n) && n){ 8 if(!first) puts(""); 9 for(i=0; i<n; i++) 10 scanf("%d", &a[i]); 11 for(i=0; i<n; i++) 12 scanf("%d", &b[i]); 13 int suma =0 ,sumb=0; 14 for(i=0; i<n; i++){ 15 if(a[i]==1 && b[i]==2){ 16 suma += 6; 17 continue; 18 } 19 if(a[i]==2 && b[i]==1){ 20 sumb += 6; 21 continue; 22 } 23 if(a[i]==b[i]) continue; 24 if(a[i] - b[i] == 1){ 25 sumb += (a[i]+b[i]); 26 continue; 27 } 28 if(b[i] - a[i] == 1){ 29 suma += (a[i]+b[i]); 30 continue; 31 } 32 if(a[i]>b[i]) suma += a[i]; 33 if(b[i]>a[i]) sumb += b[i]; 34 } 35 printf("A has %d points. B has %d points.\n",suma,sumb); 36 first = false; 37 } 38 return 0; 39 }?
轉載于:https://www.cnblogs.com/acm-bingzi/p/3258812.html
總結
以上是生活随笔為你收集整理的ZOJ 1057 Undercut(简单模拟)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ----斐波那契数列---eval函数-
- 下一篇: [转载]oracle的表导入导出,表空间