oj刷题(多样例)

 1405  世界杯 

World Cup

题目描述

世界杯来了!!!自然,足球博彩也变得炙手可热。现在有n家博彩公司针对比赛的胜负平给出不同的赔率(比如,赔率为1赔1.5,即如果下注1块钱,猜对了会获得1.5元,盈利0.5元),请问是否有一种策略可以保证一定赢钱?

输入

第一行是一个整数T(1≤T≤1000),表示样例的个数。 每个样例的第一行是一个整数n(1≤n≤10),表示博彩公司的数量。 以后的每行包括三个浮点数,w,d,l(1.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

 分析:

下面来自百度查到的相关赔率的意义:

赔率其实就是回报率,奖金跟赔率有关,赔率越高说明出现的概率越低,一旦高赔率打出说明比赛或者结果很可能出现了冷门

不过这个赔率是,在没有中间商赚差价下的理想情况。而现实中,博彩公司当然是要赚钱的。

他们挣钱的方式,就是降低赔率,从押注的总资金中抽成。我们继续去看刚才的例子,押巴西的资金是80元,押阿根廷的是20元。如果彩公司想从中赚5块钱的话,就可以把阿根廷队赢球的赔率,从1赔5调低到1赔4.75;巴西队从1赔1.25,调低到1赔1.19。

这样一来,博彩公司的总收入是100元,但无论巴西还是阿根廷赢球,都只需要给出95元稳赚5%。这就是博彩公司赚钱的方法,这5%就相当于押注者给博彩公司交的手续费。

oj刷题(多样例)_第1张图片

#include
int main()
{
    int t;
    scanf("%d",&t);
    while(t--)
    {
        int n;
        scanf("%d",&n);
        double a=0,b=0,c=0;
        while(n--)
        {
            double w,d,l;
            scanf("%lf%lf%lf",&w,&d,&l);
            if(w>a)
            a=w;
            if(d>b)
            b=d;
            if(l>c)
            c=l;
        }
        double sum=1/a+1/b+1/c;
        if(sum<=1)
        printf("Yes\n");
        else
        printf("No\n");
    }
    return 0;
    
}

   1437  比例

比例

题目描述

如下图:

oj刷题(多样例)_第2张图片

已知BD:DA=a:b, AE:EC=c:d, FC:FB=e:f,求DG:GF。

输入格式

第一行是一个整数T (1≤T≤1000),表示样例的个数。

以后每行6个整数,依次为a,b,c,d,e,f (1≤a,b,c,d,e,f≤1000)。

输出格式

依次每行输出一个样例的结果,为两个整数x和y,两者之间有一个空格,x和y互质。

样例输入

1
4 1 2 1 1 2

样例输出

12 5

分析:  oj刷题(多样例)_第3张图片

#include 

int main()
{
    int T;
    scanf("%d",&T);
    while (T --)
    {
        int a, b, c, d, e, f;
        scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f);
        int fm = a * c * (f + e);
        int fz = f * d * (a + b);
        int m = fz, n = fm;
        while (n != 0)
        {
            int t = m % n;
            m = n;
            n = t;
        }
        printf("%d %d\n",fm/m,fz/m);
    }
}

1259  Alice and Bob

Alice and Bob

题目描述

Alice喜欢n位数,Bob喜欢能被m整除的数,请问被Alice和Bob都喜欢的数有多少个?

输入

第一行是一个整数K(K≤10000),表示样例的个数。
每个样例是一行,两个整数n(1≤n≤18),m(2≤m≤1000000)。

输出

每行输出一个样例的结果。

样例输入

4
1 2
3 2
3 3
3 10000

样例输出

5
450
300
0
#include 
int main()
{
    int T;
    scanf("%d",&T);
    
    while (T --)
    {
            int n, m;
            scanf("%d%d",&n,&m);
            __int64  a = 1, b = 1;
            for (int i = 1; i < n; i ++ )
            {
                a *= 10;
                b *= 10;
            }
            __int64 x = (a * 10 - 1) / m + 1;//除以整数会向下取整
            __int64 y = (b - 1) / m + 1;
            __int64 cnt = x - y;
            if (n == 1)
            {
                cnt ++;
            }     
            printf ("%I64d\n",cnt);
    }
}

1342  三角形

Description

三角形

题目描述

已知两个三角形的三条边的长度,请问它们是否相似?

输入

第一行是一个整数T(1≤T≤1000),表示样例的个数。 每个样例占两行,每行为三个整数a,b,c1≤a,b,c≤1000,表示一个三角形的边长。 输入数据保证三条边一定能构成三角形。

输出

依次输出每个样例的结果,如果相似,输出"Yes",否则输出"No"。

样例输入

2
3 4 5
3 3 3
3 4 5
6 8 10

样例输出

No
Yes
#include 
int main()
{
    int T;
    scanf("%d",&T);
    
    while (T --)
    {
        double a, b, c, a1, b1, c1;
        double x, y, z, x1, y1, z1;
        
        scanf("%lf%lf%lf",&a,&b,&c);
        scanf("%lf%lf%lf",&x,&y,&z);
        //排序(从小到大)
        if (a >= b && a >= c && b >= c) a1 = c, b1 = b, c1 = a;
        if (a >= b && a >= c && b <= c) a1 = b, b1 = c, c1 = a;
        if (b >= a && b >= c && a >= c) a1 = c, b1 = a, c1 = b;
        if (b >= a && b >= c && a <= c) a1 = a, b1 = c, c1 = b;
        if (c >= a && c >= b && a <= b) a1 = a, b1 = b, c1 = c;
        if (c >= a && c >= b && a >= b) a1 = b, b1 = a, c1 = c;
        if (x >= y && x >= z && y >= z) x1 = z, y1 = y, z1 = x;
        if (x >= y && x >= z && y <= z) x1 = y, y1 = z, z1 = x;
        if (y >= x && y >= z && x >= z) x1 = z, y1 = x, z1 = y;
        if (y >= x && y >= z && x <= z) x1 = x, y1 = z, z1 = y;
        if (z >= x && z >= y && x <= y) x1 = x, y1 = y, z1 = z;
        if (z >= x && z >= y && x >= y) x1 = y, y1 = x, z1 = z;
        
        if (a1 / x1 == b1 / y1 && b1 / y1 == c1 / z1) printf ("Yes\n");
        else printf("No\n");      
    }
    return 0;
}

你可能感兴趣的:(题目记录,c++,算法,c语言)