POJ PKU 1959 Darts 暴力枚举

直接暴力枚举即可,这里只需要要注意的是不要重复枚举某种情况。

#include <iostream>
using namespace std;
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,50,25};
int solve(int score)
{
    int i,j,k,res=0;
    for (i=0;i<63;++i)
        for (j=i;j<63;++j)
            for (k=j;k<63;++k)
                if(a[i]+a[j]+a[k]==score)
                    ++res;
    return res;
}
int main()
{
    int cnt,score;
    scanf("%d",&cnt);
    for (int i=1;i<=cnt;++i)
    {
        scanf("%d",&score);
        printf("Scenario #%d:\n%d\n\n",i,solve(score));
    }
    return 0;
}

 

posted on 2013-03-08 15:55  Deller  阅读(179)  评论(0)    收藏  举报

导航