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; }
浙公网安备 33010602011771号