码迷,mamicode.com
首页 > 其他好文 > 详细

「Poetize7」足球比赛

时间:2014-10-24 14:23:20      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   io   os   ar   for   

描述 Description

SJZEZ和TSYZ正在进行一轮足球联谊赛,根据规则,这轮比赛有两场,一场在SJZEZ的主场进行,一场在TSYZ的主场进行。胜负判断标准如下:
1.在两场比赛中进球总数较多的一方赢得比赛。
2.如果双方进球总数相同,在对方主场进球更多的一方赢得比赛。
3.如果1、2都相同,胜利者将会随机产生= =
双方已经进行了一场比赛,作为SJZEZ的队长,忘川沧月童鞋想知道:
(1)第二场sjzez最少需要进多少球,才有可能赢得比赛。
(2)第二场sjzez进不超过多少个球,tsyz才有可能赢得比赛。
已知在一场比赛中,一方的进球数不可能多于30个。

输入格式 InputFormat

第一行一个整数t,表示该测试点中数据的组数。
接下来t行,每行一个字符串,描述该组数据中第一场比赛的情况,形式如下:
wccy‘s team played where game, scored x goals, and conceded y goals.
其中where是‘home‘或者‘away‘中的一个,home表示第一场比赛是在sjzez的主场进行,away表示第一场比赛是在tsyz的主场进行。
x,y是整数,分别表示忘川沧月的队伍的进球数,和对方的进球数。

题解:

无脑题。。。

出题人:

考察:枚举验证 / 贪心

方法一:直接枚举所有可能情况,判断是否符合条件,取极限情况为答案。

方法二:贪心。直接计算。

两种方法都能AC,实际上本题只要读懂了题目就是送分题。读入稍微注意下。

代码:(不想写代码了。。。)

bubuko.com,布布扣
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 int a,b,c,d,x,y,t;
 7 char pos[10];
 8 int main()
 9 {
10  scanf("%d\n",&t);
11  while(t--)
12  {
13   scanf("%*s%*s%*s");
14   scanf("%s",pos);
15   scanf("%*s%*s");
16   scanf("%d",&x);
17   scanf("%*s%*s%*s");
18   scanf("%d",&y);
19   scanf("%*s");
20   if(pos[0]==h)
21   {
22    a=x,b=y,d=0;
23    c=b+d-a;
24    if(c<b) c++;
25    c=max(c,0);
26    printf("%d ",c);
27    d=30; c=b+d-a;
28    if(c>b) c--;
29    c=max(min(c,30),0);
30    printf("%d\n",c);
31   }
32   else
33   {
34    c=x,d=y; b=0;
35    a=max(b+d-c,0);
36    printf("%d ",a);
37    b=30;
38    a=max(min(b+d-c,30),0);
39    printf("%d\n",a);
40   }
41  }
42  return 0;
43 }
View Code

 

「Poetize7」足球比赛

标签:des   style   blog   http   color   io   os   ar   for   

原文地址:http://www.cnblogs.com/zyfzyf/p/4048061.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!