点球大战

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2134    Accepted Submission(s): 807

Problem Description
在足球比赛中,有不少赛事,例如世界杯淘汰赛和欧洲冠军联赛淘汰赛中,当比赛双方经过正规比赛和加时赛之后仍然不分胜负时,需要进行点球大战来决定谁能够获得最终的胜利。点球大战的规则非常简单,两方轮流派出球员罚点球,每方各罚5个。当5轮点球结束以后如果仍然不分胜负,则进入一轮定胜负的阶段。两方各派一名球员罚点球,直到有一方罚进而另一方没有进为止。
在北美职业冰球联赛中,也有点球大战。与足球的规则不同的是,它只先罚3轮点球,随后就进入一轮定胜负的阶段,而其他的规则完全一样。
在本题中,输入将给出每次点球是否罚进,而你的任务则是输出一个“比分板”。
Input
输入包含多组数据。每组数据的第一行包含一个整数N(1<=N<=18),表示双方总共罚了多少个点球,N=0表示输入结束。随后有N行,每行是一个如下形式的字符串:
XXXX good:表示这个点球罚进
或者XXXX no good:表示这个点球没有罚进
其中XXXX表示球员名字(全部由字母和空格组成,保证不会出现歧义)
每一行保证不超过100个字符。
XXXX和good以及XXXX和no、no和good之间保证有且只有1个空格。
good、no good都是小写。本题是大小写相关的。
数据不保证点球大战一定结束,也不保证在结束以后立即结束这组数据(即:不用判断点球大战是否结束,只用把罚进的点球往比分上加即可)。
Output
对每组数据,输出一个比分板。一个点球如果罚进,则在对应的地方标上’O’,如果没有进则标上’X’。先罚球的队伍的信息在上面,后罚的在下面。最右边标上两队的比分。具体格式参考样例输出。注意如果一轮点球只罚了一个,则后面那个点球对应的地方写上’-’。
Sample Input
  
6 Riise good Ballack good Gerrard no good Lampard no good Fernando Torres good Malouda good 9 Christiano Ronaldo no good Messi no good Giggs good Abidal no good Carrick good Ronaldinho good Rooney good Henry no good Tevez good 0
Sample Output
  
1 2 3 Score O X O 2 O X O 2 1 2 3 4 5 Score X O O O O 4 X X O X - 1提示: 空格数要和样例输出一样,否则很可能会被判为“格式错误”(Presentation Error)。

代码质量不高,测试数据怪!

#include<stdio.h>
#include <string.h>
#include <iostream>
#include <math.h>
using namespace std;
int main()
{int N,k;char s[20][101];char a[2][101];   //两个队胜负情况int score[2];   //两个对的得分int count_a,count_b;   //计数while (cin>>N && N){getchar();count_a=count_b=0;memset(score, 0, sizeof(score));memset(a, 'z', sizeof(a));k=N%2==0? N/2:ceil(N/2.0);for (int i=0; i<N; i++){gets(s[i]);if(s[i][strlen(s[i])-6-1]=='n' && s[i][strlen(s[i])-5-1]=='o' && s[i][strlen(s[i])-6-2]==' '&& s[i][strlen(s[i])-5]==' '){if(i%2==0){a[0][count_a++]='X';}else{a[1][count_b++]='X';}}else{if(i%2==0){a[0][count_a++]='O';score[0]++;}else{a[1][count_b++]='O';score[1]++;}}}for (int i=1; i<=k; i++){if(i==1){cout<<i;}else{cout<<" "<<i;}}cout<<" Score"<<endl;for (int i=0; i<k; i++){if(a[0][i]!='O'&&a[0][i]!='X'){cout<<"- ";continue;}cout<<a[0][i]<<" ";}cout<<score[0]<<endl;for (int i=0; i<k; i++){if(a[1][i]!='O'&&a[1][i]!='X'){cout<<"- ";continue;}cout<<a[1][i]<<" ";}cout<<score[1]<<endl;}return 0;
}

hdu 2539 点球大战相关推荐

  1. 杭电2539点球大战

    点球大战 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  2. 杭电acm 2539点球大战(简单字符串)

    点球大战 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  3. [转] HDU 题目分类

    转载来自:http://www.cppblog.com/acronix/archive/2010/09/24/127536.aspx 分类一: 基础题:1000.1001.1004.1005.1008 ...

  4. HDU题目分类啊!!!

    分类一(详细): 分类二: 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.1032.1037.1040.10 ...

  5. HDU题目分类大全【大集合】

    基础题: 1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029.  1032.1037.1040.1048.1056.105 ...

  6. HDU 5643 King's Game 打表

    King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...

  7. 转载:Hdu 题目分类

    原址点击 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056. ...

  8. HDU——1106排序(istringstream的使用、STLvector练习)

    排序 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  9. hdu 5438 Ponds 拓扑排序

    Ponds Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/contests/contest_showproblem ...

最新文章

  1. linux获取fifo中的数据数量,Linux select()和多个套接字的FIFO排序?
  2. openwrt l7过滤qos配置
  3. Maven和Spring mvc下的页面的跳转与取值
  4. AIX上报:“Shell will time out in 60 seconds” 解决办法
  5. kafka集群操作指南
  6. 谈谈女友卸妆后的感受?
  7. 男性早孕-从软件与程序的区别说起
  8. 用PyMC3进行贝叶斯统计分析(代码+实例)
  9. 如何在centos上安装epel源
  10. opencv 提取图像线条 霍夫线检测
  11. 简单复制粘贴个linux红帽6
  12. Java基础内容整理(一)
  13. 互联网周刊eNet研究院:2018中国数字化转型最佳解决方案TOP100
  14. 4位7段共阴数码管动态显示的verilog代码
  15. 半导体产业的根基:晶圆是什么
  16. 如何解决微服务的数据聚合Join问题?
  17. PostgreSQL的学习心得和知识总结(一百一十七)|语法级自上而下完美实现MySQL数据库的 label:loop 的实现方案
  18. python基础学习与应用
  19. Java方法反射的实现原理
  20. 汉字编码中区位码、国标码和机内码的区别

热门文章

  1. 关于台式机不带休眠的问题 有可能是主板设置问题 以及 铭瑄刷BIOS fpart.txt找不到问题
  2. 【算法】算法中的趣味数学(一)
  3. 微信小程序入门(保姆级)
  4. MacOS安装多版本Java环境
  5. ORA-03232故障
  6. Makefile 条件编译-y
  7. 使用Karate轻松实现自动API测试
  8. 宝可梦虚拟银行服务器连接不上,将宝可梦集合到《宝可梦虚拟银行》吧
  9. 赢在中国给80后的30条建议
  10. mysql更改字段数据