HDU 2060 Snooker
2017-10-13 14:20
441 查看
http://acm.hdu.edu.cn/showproblem.php?pid=2060
Time Limit: 1000/1000 MS
(Java/Others) Memory
Limit: 32768/32768 K (Java/Others)
Total Submission(s):
3697 Accepted
Submission(s): 1565
[align=left]Problem Description[/align]
background:
Philip likes to play the QQ game of Snooker when he wants a relax,
though he was just a little vegetable-bird. Maybe you hadn't played
that game yet, no matter, I'll introduce the rule for you
first.
There are 21 object balls on board, including 15 red balls and 6
color balls: yellow, green, brown, blue, pink, black.
The player should use a white main ball to make the object balls
roll into the hole, the sum of the ball's fixed value he made in
the hole is the player's score. The player should firstly made a
red ball into the hole, after that he gains red-ball's value(1
points), then he gets the chance to make a color ball, then
alternately. The color ball should be took out until all the
red-ball are in the hole. In other word, if there are only color
balls left on board, the player should hit the object balls in this
order: yellow(2 point), green(3 point), brown(4 point), blue(5
point), pink(6 point), black(7 point), after the ball being hit
into the hole, they are not get out of the hole, after no ball left
on board, the game ends, the player who has
the higher score wins the game. PS: red object balls never get out
of the hole.
I just illustrate the rules that maybe used, if you want to contact
more details, visit http://sports.tom.com/snooker/ after
the contest.
for example, if there are 12 red balls on board(if there are still
red ball left on board, it can be sure that all the color
balls must be on board either). So suppose Philp can continuesly
hit the ball into the hole, he can get the maximun score is
12 * 1 (12 red-ball in one shoot) + 7 * 12(after hit a red ball, a
black ball which was the most valuable ball should be the target) +
2 + 3 + 4 + 5 + 6 + 7(when no red ball left, make all the color
ball in hole).
Now, your task is to judge whether Philip should make the decision
to give up when telling you the condition on board(How many object
balls still left not in the hole and the other player's score). If
Philp still gets the chance to win, just print "Yes", otherwise
print "No". (PS: if the max score he could get on board add his
current score is equal to the opponent's current score, still
output "Yes")
[align=left]Input[/align]
The first line contains a numble N
indicating the total conditions. Then followed by N lines, each
line is made of three integers:
Ball_Left P_Score O_Score represeting the ball number left on
board, Philp's current score, and the opponent's current
score.
All the input value are in 32 bit integer value range.
[align=left]Output[/align]
You should caculate the max score left
Philp can gain, and judge whether he has the possiblity to
win.
[align=left]Sample Input[/align]
2 12 1 1 1
30 39
[align=left]Sample Output[/align]
Yes
No
[align=left]Author[/align]
zl
[align=left]Source[/align]
校庆杯Warm Up
[align=left]Recommend[/align]
linle
题目大意:斯诺克。给出当前球数,b的分数,c的分数。问:接下来b全部一杆进洞,分数能否追上c?
分析:斯诺克的分数可以打表判断。注意是追上,所以分数相等也输出Yes.
代码如下:
#include<stdio.h>
#include<string.h>
#include<math.h>
int fen[]={0,7,13,18,22,25,27};
int fun(int x)
{
if(x<=6) return fen[x];
else return
(8*(x-6)+fen[6]);
}
int main()
{
int T;
int a,b,c;
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d",&a,&b,&c);
if(b+fun(a)>=c)
printf("Yes\n");
else printf("No\n");
}
return 0;
}
Snooker
Time Limit: 1000/1000 MS
(Java/Others) Memory
Limit: 32768/32768 K (Java/Others)
Total Submission(s):
3697 Accepted
Submission(s): 1565
[align=left]Problem Description[/align]
background:
Philip likes to play the QQ game of Snooker when he wants a relax,
though he was just a little vegetable-bird. Maybe you hadn't played
that game yet, no matter, I'll introduce the rule for you
first.
There are 21 object balls on board, including 15 red balls and 6
color balls: yellow, green, brown, blue, pink, black.
The player should use a white main ball to make the object balls
roll into the hole, the sum of the ball's fixed value he made in
the hole is the player's score. The player should firstly made a
red ball into the hole, after that he gains red-ball's value(1
points), then he gets the chance to make a color ball, then
alternately. The color ball should be took out until all the
red-ball are in the hole. In other word, if there are only color
balls left on board, the player should hit the object balls in this
order: yellow(2 point), green(3 point), brown(4 point), blue(5
point), pink(6 point), black(7 point), after the ball being hit
into the hole, they are not get out of the hole, after no ball left
on board, the game ends, the player who has
the higher score wins the game. PS: red object balls never get out
of the hole.
I just illustrate the rules that maybe used, if you want to contact
more details, visit http://sports.tom.com/snooker/ after
the contest.
for example, if there are 12 red balls on board(if there are still
red ball left on board, it can be sure that all the color
balls must be on board either). So suppose Philp can continuesly
hit the ball into the hole, he can get the maximun score is
12 * 1 (12 red-ball in one shoot) + 7 * 12(after hit a red ball, a
black ball which was the most valuable ball should be the target) +
2 + 3 + 4 + 5 + 6 + 7(when no red ball left, make all the color
ball in hole).
Now, your task is to judge whether Philip should make the decision
to give up when telling you the condition on board(How many object
balls still left not in the hole and the other player's score). If
Philp still gets the chance to win, just print "Yes", otherwise
print "No". (PS: if the max score he could get on board add his
current score is equal to the opponent's current score, still
output "Yes")
[align=left]Input[/align]
The first line contains a numble N
indicating the total conditions. Then followed by N lines, each
line is made of three integers:
Ball_Left P_Score O_Score represeting the ball number left on
board, Philp's current score, and the opponent's current
score.
All the input value are in 32 bit integer value range.
[align=left]Output[/align]
You should caculate the max score left
Philp can gain, and judge whether he has the possiblity to
win.
[align=left]Sample Input[/align]
2 12 1 1 1
30 39
[align=left]Sample Output[/align]
Yes
No
[align=left]Author[/align]
zl
[align=left]Source[/align]
校庆杯Warm Up
[align=left]Recommend[/align]
linle
题目大意:斯诺克。给出当前球数,b的分数,c的分数。问:接下来b全部一杆进洞,分数能否追上c?
分析:斯诺克的分数可以打表判断。注意是追上,所以分数相等也输出Yes.
代码如下:
#include<stdio.h>
#include<string.h>
#include<math.h>
int fen[]={0,7,13,18,22,25,27};
int fun(int x)
{
if(x<=6) return fen[x];
else return
(8*(x-6)+fen[6]);
}
int main()
{
int T;
int a,b,c;
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d",&a,&b,&c);
if(b+fun(a)>=c)
printf("Yes\n");
else printf("No\n");
}
return 0;
}
相关文章推荐
- (HDU)1213 How Many Tables
- HDU&nbsp;4337&nbsp;King&nbsp;Arthur&#039;s&nbsp;Knights(…
- HDU 2161 Primes
- HDU 2061 Treasure the new start,…
- HDU 1339 A Simple Task
- HDU 1157 Who's in the Middle
- HDU&nbsp;4278
- hdu&nbsp;1007&nbsp;平面最近点对&nbsp;&nbsp;随机增量…
- hdu 1217 Arbitrage
- hdu 1501 Zipper
- hdu 3125 Slash
- hdu 2084 数塔
- HDU:2045不容易系列之(3)—— LELE…
- HDU:1063 POJ:1001 Exponentiat…
- HDU 1253 胜利大逃亡
- HDU 1025 Constructing Roads In …
- HDU 1078 FatMouse and Cheese(肥…
- ZZULI_TEAM_PRACTICE(1) HDU 1251…
- ZZULI 1616(POJ 2243||HDU 1372)…
- HDU 1166 敌兵布阵 线段树