程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> hdu 2060 Snooker(數學題)

hdu 2060 Snooker(數學題)

編輯:C++入門知識

hdu 2060 Snooker(數學題)


題意:桌上有n個球,一人得分為a,另一人為b,問如果第一個人將n個球都打進洞後,得分能否超過(或等於)第二個人。

分析:1。如果n>6,那麼桌上有6個彩球和n-6個紅球,每打進一個紅球都要補一個黑球,所有打進n個球的得分為

(n-6)*1+(n-6)*7+2+3+4+5+6+7

2.如果n<=6,那麼桌上剩下n個分值大的求,例如n=1時,那麼剩下一個黑球,此時打進n個球的得分為

(7+7-n+1)*n/2。

代碼:

 

#include
#include
using namespace std;

int main()
{
    int n,a,b;
    int t;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d%d%d",&n,&a,&b);
        if(n>6)
        {
            if(a+(n-6)*1+(n-6)*7+2+3+4+5+6+7>=b)
            {
                printf("Yes\n");
            }
            else
                printf("No\n");
        }
        else
        {
            if(a+(7+7-n+1)*n/2>=b)
                printf("Yes\n");
            else
                printf("No\n");
        }
    }
    return 0;
}


 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved