【杭电100题】校庆杯Warm Up 2060 Snooke)r

Problem Description

背景:

场上有21个球,包括15个红色球(1分)和6个彩色球:黄色(2分)、绿色(3)、棕色(4)、蓝色(5)、粉色(6)、黑色(7分)。
每打进一个红球得1分,同时得到一个打彩球的机会,此时得分最多的方法是打黑球(7分分数最高),不过彩球打进后还要取出放回板上,红球不取出。

除非当所有红球都被打进,场上只剩下6个彩球,此时打进彩球不取出。当场上无球时比赛结束。

一个人所能得到的最高分数为 15*1+15*7+(2+3+4+5+6+7),即连续打进15个红球,每次打进红球后又打进了黑球,最后将6个彩球打进。

本题:当前分数+打进剩下所有球的分数>=对方分数时,胜利 

 

Input

第一行包含一个数字N,表示实例数。
然后是N行,每一行由三个整数组成:
Ball_Left P_Score O_Score分别代表场上剩下的球数、当前分数和对手分数。
所有输入值都在32位整数值范围内。

 

 

Output

胜利输出“Yes”,否则输出“No”

 

#include <iostream>

using namespace std;

int main()
{
    int n,i;
    int ball,s1,s2;
    int a[6]={7,6,5,4,3,2};
    int j;
    int max=12*8+27;
    cin>>n;
    for(i=0;i<n;i++){
        cin>>ball>>s1>>s2;
        if(ball<=6){        //场上球少于等于6个时,假设均为分值最大的球
            for(j=0;j<ball;j++)
                s1+=a[j];
        }
        else{
            s1+=(ball-6)*8+27;
        }
        if(s1>=s2)cout<<"Yes"<<endl;
        else cout<<"No"<<endl;
    }
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值