题目链接:URAL 1804 The Machinegunners in a Playoff
题意:给出M队上一场(主场或客场)得分和失分(对方进球),求下一场M队的比赛策略
比赛的规则:2场比赛,两队分别依次主场。1.总分大的胜利。2.总分相同,客场得分多的胜利。3.两者都相同,两队都有可能获胜。每队一场得分不超过30分
策略:1.M队可能晋级的最小分数,2.M队使C队可能晋级的最大分数。
思路:求最小:C队得分0。求最大:C队得分30分。关键是比较每次两队的客场得分。
AC代码:
#include<stdio.h>
#include<string.h>
int main()
{
int a,b;
int t,i,min,max;
char s[10][100];
while(scanf("%d",&t)!=EOF)
{
while(t--)
{
scanf("%s%s%s%s%s%s %d %s%s%s %d %s",s[0],s[1],s[2],s[3],s[4],s[5],&a,s[6],s[7],s[8],&b,s[9]);
if(strcmp(s[3],"home")==0)//Machinegunners主场
{
//a+x=b
min=b-a;//总球数相同 M客场进min球 C客场进b球
if(min>=0 && min<b)
min++;
else if(min<0)
min=0;
//a+max=b+30
max=30+b-a;//总球数相同 M客场进max球 C客场进b球
if(max<=30 && max>b)
max--;
else if(max>30)
max=30;
}
else
{
min=b-a;//总球数相同 M客场进a球 C客场进0球
if(min>=0 && a<0)
min++;
else if(min<0)
min=0;
//a+max=b+30
max=30+b-a;
if(max<=30 && a>30)
max--;
else if(max>30)
max=30;
}
printf("%d %d\n",min,max);
}
}
return 0;
}
/*
10
The Machinegunners played home game, scored 30 goals, and conceded 30 goals.
The Machinegunners played away game, scored 30 goals, and conceded 30 goals.
The Machinegunners played home game, scored 3 goals, and conceded 3 goals.
The Machinegunners played away game, scored 3 goals, and conceded 5 goals.
The Machinegunners played away game, scored 30 goals, and conceded 0 goals.
*/AC代码(模拟)
详细:http://blog.csdn.net/kewowlo/article/details/38149569
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int Min(int a,int b)
{
return a>b?b:a;
}
int main()
{
int a,b;
int t,len,i,m;
char s[10][100];
while(scanf("%d",&t)!=EOF)
{
while(t--)
{
scanf("%s%s%s%s%s%s %d %s%s%s %d %s",s[0],s[1],s[2],s[3],s[4],s[5],&a,s[6],s[7],s[8],&b,s[9]);
if(strcmp(s[3],"home")==0)//Machinegunners主场
{
//a赢求,b是输球
for(i=0;i<=30;i++)
{
if(i+a>b)
{
printf("%d ",i);
break;
}
else if(i+a==b && i>=b)
{
printf("%d ",i);
break;
}
}
for(i=30;i>=0;i--)
{
if(i+a<b+30)
{
printf("%d\n",i);
break;
}
else if(i+a==b+30 && i<=b)
{
printf("%d\n",i);
break;
}
}
}
else//客场
{
for(i=0;i<=30;i++)
{
if(i+a>b)
{
printf("%d ",i);
break;
}
else if(i+a==b)
{
printf("%d ",i);
break;
}
}
for(i=30;i>=0;i--)
{
if(i+a<b+30 && i>=b)
{
printf("%d\n",i);
break;
}
else if(i+a==b+30 && a<=30)
{
printf("%d\n",i);
break;
}
}
}
}
}
return 0;
}
/*
2
The Machinegunners played home game, scored 29 goals, and conceded 4 goals.
The Machinegunners played away game, scored 0 goals, and conceded 0 goals.
The Machinegunners played home game, scored 3 goals, and conceded 3 goals.
The Machinegunners played away game, scored 3 goals, and conceded 5 goals.
The Machinegunners played away game, scored 30 goals, and conceded 0 goals.
0 0
0 29
30 30
1 30
*/URAL 1804 The Machinegunners in a Playoff (比较绕的分类),布布扣,bubuko.com
URAL 1804 The Machinegunners in a Playoff (比较绕的分类)
原文地址:http://blog.csdn.net/u012377575/article/details/38226055