題意:桌上有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; }