题意: 就是一个扔飞镖的游戏,一次可以扔三支飞镖。射在不同位置有不同得分,在中心和中心的边缘分别为50和25。其他的位置为1到20,然后射到缝隙上可以乘2和乘3,当然也包括射不中靶得分为0的情况。给出得分,求得分的种类数。直接对三次情况进行枚举即可。
#include <iostream>
using namespace std;
int score[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;
cin>>t;
for(int cas=1;cas<=t;cas++)
{
int n;
int ans=0;
cin>>n;
for(int i=0;i<63;i++)
for(int j=i;j<63;j++)
for(int k=j;k<63;k++)
if(score[i]+score[j]+score[k]==n)
ans++;
cout<<"Scenario #"<<cas<<":"<<endl<<ans<<endl<<endl;
}
}