POJ-1959 Darts
Darts
Time Limit: 1000MS Memory Limit: 30000K
Total Submissions: 1286 Accepted: 741
Description
Background
Many nations (including Germany) have a strange tradition of throwing small arrows at round flat targets (usually, these small arrows are called darts and so is the game).
In a darts game, the target consists of a flat circle which is divided into slices and rings. The slices are numbered from 1 to 20 and the rings are called double or treble ring (see Figure 5). The center part of the board is called the bull’s eye which is further subdivided into an inner part (the real bull’s eye) and an outer part (called the bull, see Fig. 5).
Players take turns in throwing the darts at the board. Their score depends on the areas they hit with their darts. Hitting the 20 slice in the double ring scores 2 * 20 = 40 points. Hitting the treble ring multiplies the score by 3. The inner part of the bull’s eye counts 50, the outer part 25 points.
Every turn consists of 3 darts being thrown at the dartboard by a player and his score is the sum of the scores of all darts which hit the dartboard in one of the numbered areas.
Problem
Your friends have played darts yesterday and from their match the scores are still on the blackboard in your room. From reading the scores, you would like to know, how the individual players threw their darts and where they could have hit the dartboard. You are to write a program which, given the score of a turn,reconstructs the number of possible distinct combinations of hits of the three darts on the dartboard ignoring the order in which the darts are thrown.
As an example, consider the overall score of 3 of a player. This could have happened as follows:
3 = 0 + 0 + 1*3 one dart hits slice 3
3 = 0 + 0 + 3*1 one dart hits slice 1 in treble ring
3 = 0 + 1*1 + 1*2 one dart hits slice 1 and one dart hits slice 2
3 = 0 + 1*1 + 2*1 one dart hits slice 1 and one dart hits slice 1 in double ring
3 = 1*1 + 1*1 + 1*1 all three darts hit slice 1
The resulting sum of possible distinct combinations is 5.
A more complex example is score 9:
9 = 0 + 0 + 1*9 one dart hits slice 9
9 = 0 + 0 + 3*3 one dart hits slice 3 in treble ring
9 = 0 + 1*1 + 1*8 one dart hits slice 1 and one dart hits slice 8
9 = 0 + 1*1 + 2*4 one dart hits slice 1 and one dart hits slice 4 in double ring
…
9 = 0 + 3*2 + 1*3 one dart hits slice 2 in treble ring and one dart hits slice 3
9 = 1*1 + 1*1 + 1*7 two darts hit slice 1 and one dart hits slice 7
…
9 = 2*1 + 3*1 + 2*2 one dart hits slice 1 in double ring, one dart hits slice 1 in treble ring and one dart hits slice 2 in double ring
9 = 1*3 + 1*3 + 1*3 three darts hit slice 3
9 = 1*3 + 1*3 + 3*1 two darts hit slice 3 and one dart hits slice 1 in treble ring
9 = 1*3 + 3*1 + 3*1 one dart hits slice 3 and two darts hit slice 1 in treble ring
9 = 3*1 + 3*1 + 3*1 three darts hit slice 1 in treble ring
What is the number of combinations? Write a program to find out.
Input
The first line contains the number of scenarios.
For each scenario, you are give a dart score as a single positive integer on a line by itself.
Output
The output for every scenario begins with a line containing “Scenario #i:”, where i is the number of the scenario starting at 1. Then print the number of possible dart score combinations on a line by itself.Finish the output of every scenario with a blank line.
Sample Input
2
3
9
Sample Output
Scenario #1:
5
Scenario #2:
41
#include <iostream>
#include <string.h>
#include <algorithm>
#include <stdlib.h>
#include <math.h>
using namespace std;
int n;
int a[63]={
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,
2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,
3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57,60,
25,50
};
int main()
{
int t;
scanf("%d",&t);
int res;
int cas=0;
while(t--)
{
res=0;
scanf("%d",&n);
for(int i=0;i<63;i++)
{
for(int j=i;j<63;j++)
{
for(int k=j;k<63;k++)
{
if(a[i]+a[j]+a[k]==n)
{
res++;
}
}
}
}
printf("Scenario #%d:\n",++cas);
printf("%d\n\n",res);
}
return 0;
}
POJ-1959 Darts的更多相关文章
- poj 1959 Darts 同意反复组合
水题.直接贴代码. //poj 1959 //sep9 #include <iostream> using namespace std; int n; int f[128]; int so ...
- poj 动态规划题目列表及总结
此文转载别人,希望自己能够做完这些题目! 1.POJ动态规划题目列表 容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 11 ...
- poj动态规划列表
[1]POJ 动态规划题目列表 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 13 ...
- POJ 动态规划题目列表
]POJ 动态规划题目列表 容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1208, 1276, 1322 ...
- poj 动态规划的主题列表和总结
此文转载别人,希望自己可以做完这些题目. 1.POJ动态规划题目列表 easy:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, ...
- [转] POJ DP问题
列表一:经典题目题号:容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1191,1208, 1276, 13 ...
- POJ动态规划题目列表
列表一:经典题目题号:容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1191,1208, 1276, 13 ...
- dp题目列表
此文转载别人,希望自己能够做完这些题目! 1.POJ动态规划题目列表 容易:1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 11 ...
- DP题目列表/弟屁专题
声明: 1.这份列表不是我原创的,放到这里便于自己浏览和查找题目. ※最近更新:Poj斜率优化题目 1180,2018,3709 列表一:经典题目题号:容易: 1018, 1050, 1083, 10 ...
- poj 题目分类(1)
poj 题目分类 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K--0.50K:中短代码:0.51K--1.00K:中等代码量:1.01K--2.00K:长代码:2.01 ...
随机推荐
- linux中显示有颜色的字符
https://blog.csdn.net/weixin_42867972/article/details/81700469 # 设置命令提示符 PS1="\033[33;1m[\033[3 ...
- [Model] LeNet-5 by Keras
典型的卷积神经网络. 数据的预处理 Keras傻瓜式读取数据:自动下载,自动解压,自动加载. # X_train: array([[[[ 0., 0., 0., ..., 0., 0., 0.], [ ...
- 【Access2007】将Excel表导入至Access2007的当中一张已存在的表之中
将Excel表导入至Access2007,你会发现万恶的Access2007会帮你自己主动创建一张表.全然没有问你是否要插入一张已存在的表之中. 那么,我们须要这样解决: 一.依照正常的步骤先将Exc ...
- C#(少用的)
挖一挖C#中那些我们不常用的东西之系列(1)——ToDictionary,ToLookup 挖一挖C#中那些我们不常用的东西之系列(2)——IsXXX 系列方法 挖一挖C#中那些我们不常用的东西之系列 ...
- 通过SSH实现Windows与linux之间传输文件
Linux是非常好的开发环境,但很多时候我们希望能够在Windows上操作,通过SSH协议可以实现两者之间传输文件. 一 需要在Linux系统上安装ssh-server,有的linux系统自带了. 查 ...
- Nginx(十)-- 进程模型及工作原理
1.nginx进程模型 Nginx是一个master和worker的模型.master主要用来管理worker进程,master就比作老板,worker就是打工仔,master指挥worker来做事情 ...
- 天猫浏览型应用的CDN静态化架构演变(转)
转自:http://wbj0110.iteye.com/blog/2036613 在天猫双11活动中,商品详情.店铺等浏览型系统,通常会承受超出日常数倍甚至数十倍的流量冲击.随着历年来双11流量的大幅 ...
- cannot access android.support.v4.app.BaseFragmentActivityJB的解决
//implementation 'com.android.support:appcompat-v7:26.1.0' 改成implementation 'com.android.support:app ...
- flask livereload用法
#coding=utf-8 from flask import Flask from flask_script import Manager app = Flask(__name__) manager ...
- centos系统-java -jdk 环境配置
方法一:手动解压JDK的压缩包,然后设置环境变量 1.在/usr/目录下创建java目录 [root@localhost ~]# mkdir/usr/java[root@localhost ~]# c ...