首页 > 代码库 > 「Poetize7」足球比赛
「Poetize7」足球比赛
描述 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,实际上本题只要读懂了题目就是送分题。读入稍微注意下。
代码:(不想写代码了。。。)
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 else33 {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 }
「Poetize7」足球比赛
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。