xtu1405世界杯
World Cup
题目描述
世界杯来了!!!自然,足球博彩也变得炙手可热。现在有n家博彩公司针对比赛的胜负平给出不同的赔率(比如,赔率为1赔1.5,即如果下注1块钱,猜对了会获得1.5元,盈利0.5元),请问是否有一种策略可以保证一定赢钱?
输入
第一行是一个整数T(1≤T≤1000),表示样例的个数。 每个样例的第一行是一个整数n(1≤n≤10),表示博彩公司的数量。 以后的每行包括三个浮点数,w,d,l(1.0<w,d,l≤100.0),分别表示比赛主队胜平负的赔率。
输出
每行输出一个样例的结果,如果存在必赢的策略,输出"Yes";否则输出"No"。
样例输入
2
2
1.3 4.8 10.5
1.4 4.0 9.7
2
1.3 5.6 9.8
1.45 5.0 8.9
样例输出
No
Yes
解题思路:根据赔率的定义说明,本金/赔率=亏本金,一场比赛无非三种结果,所以三种都要购买,如果存在某种状态使亏本金<本金,则输出Yes,否则输出No
#include<stdio.h>
int main()
{
int k;
scanf("%d",&k);
while(k--)
{
int n;
int flag=0;//标记flag为0
scanf("%d",&n);
double a[15][3];
for(int i=0;i<n;i++)
{
scanf("%lf %lf %lf",&a[i][0],&a[i][1],&a[i][2]);//输入赔率
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
for(int t=0;t<n;t++)
{
if((1/a[i][0]+1/a[j][1]+1/a[t][2])<1)
{
flag=1;
printf("Yes\n");
break;
}
}
if(flag==1)
{
break;
}
}
if(flag==1)
{
break;
}//flag为1时,依次跳出循环
}
if(flag==0)
{
printf("No\n");
}
}
}