题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2060

分析:

这题目长的吓死我了,还好忍着看完题目。大致意思就是桌上由7种球,分为红球和其它球,红球可以有多个,其他求各颜色只能有一个。游戏规则是必须先把红球打进洞,然后才由一次机会打其他的球,红球进洞后再也没有机会出来,而其他球进洞后只要桌上还有红球,就可以出洞。红球1分,其他球分别为 2 3 4 5 6 7 分。给出当前桌子上球的个数,自己得分,对手得分,问是否还有机会赢球。

解题思路就是每次打一个红球,然后打一个七分,如果没有红球就从 7 6 5 4 3 2这样的顺序打下去,一直到桌子上没有球。

code:

#include <cstdio>

using namespace std;

int ball[10] = {0};

int main()
{
    int n;
    scanf("%d", &n);
    while(n--)
    {
        int b, p ,o; // 剩余球的数量,自己得分,对手得分
        scanf("%d %d %d", &b, &p, &o);
        if(b >= 7)
        {
            p += (b-6) + (b-6) * 7;
            for(int i=2; i<=7; i++)
                p += i;
        }
        else if(b < 7)
        {
            for(int i=7; i>7-b; i--)
                p += i;
        }
        if(p >= o)
            printf("Yes\n");
        else
            printf("No\n");
    }


    return 0;
}