UVA10601 Cubes

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA10601 Cubes相关的知识,希望对你有一定的参考价值。

???????????????   ??????   ??????   ini   ?????????   ??????   names   ??????   style   

???????????????https://vjudge.net/problem/UVA-10601

???????????????

??????????????????????????????????????????????????????????????????\(P182\).

??????????????????????????????????????????

???????????????

???????????????????????????\(4\)??????

??????\(A\). ???????????????\(1\) ???????????????????????? \((12,0,0,0,0,0)\).??? \((a,b,c,d,e,f)\) ???????????????????????????????????? \(a\) ??????????????????\(b\) ??????????????????\(c\) ???????????????......(???????????????,???????????????????????????????????????????????????

??????\(B\). ???????????????????????????????????????????????????????????????\(3\) ?????????

?????????????????? \(90\cir\)?????????????????? \((0,0,0,3,0,0)\);

?????????????????? \(180\cir\)?????????????????? \((0,6,0,0,0,0)\);

?????????????????? \(270\cir\)?????????????????? \((0,0,0,3,0,0)\)???

??????\(C\). ??????????????????????????????????????????\(4\) ?????????

?????????????????? \(120\cir\)?????????????????? \((0,0,4,0,0,0)\);

?????????????????? \(240\cir\)?????????????????? \((0,0,4,0,0,0)\)???

??????\(D\). ????????????????????????????????????????????????\(6\) ?????????

?????????????????? \(180\cir\)?????????????????? \((2,5,0,0,0,0)\)???

??????????????????????????? \(D\) ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? \(n\)?????????????????????????????? \(k\)???????????????????????????\(0\)?????????????????????????????? \(C_{12/k}^{n/k}\)????????? \(D\) ????????????????????????????????????????????????????????????????????????????????????

AC?????????

 1 #include <bits/stdc++.h>
 2 
 3 using namespace std;
 4 typedef long long ll;
 5 ll a[7],b[7];
 6 ll C[20][20];
 7 void init(){
 8     C[0][0]=C[1][0]=C[1][1]=1;
 9     for(int i=2;i<20;i++){
10         C[i][0]=C[i][i]=1;
11         for(int j=1;j<i;j++)
12             C[i][j]=C[i-1][j-1]+C[i-1][j];
13     }
14 }
15 ll cal(int n,int tot){  //?????????????????????????????????
16     for(int i=1;i<=6;i++){
17         if(b[i]%n!=0)   return 0;
18         b[i]/=n;    //????????????????????????????????????
19     }
20     ll ret=1;
21     for(int i=1;i<=6;i++){
22         ret*=C[tot][b[i]];
23         tot-=b[i];  //??????????????????????????????
24     }
25     return ret;
26 }
27 int main(){
28     init();
29     int t;
30     scanf("%d",&t);
31     while(t--){
32         memset(a,0,sizeof(a));
33         int tmp;
34         for(int i=0;i<12;i++){
35             scanf("%d",&tmp);
36             a[tmp]++;
37         }
38         ll ans=0;
39         for(int i=1;i<=6;i++)   b[i]=a[i];
40         ans+=cal(4,3)*6; 
41         for(int i=1;i<=6;i++)   b[i]=a[i];
42         ans+=cal(2,6)*3;
43         for(int i=1;i<=6;i++)   b[i]=a[i];
44         ans+=cal(3,4)*8;
45         for(int i=1;i<=6;i++)   b[i]=a[i];
46         ans+=cal(1,12);
47         for(int i=1;i<=6;i++){
48             for(int j=1;j<=6;j++){
49                 for(int k=1;k<=6;k++)   b[k]=a[k];
50                 b[i]--,b[j]--;
51                 if(b[i]<0||b[j]<0)  continue;
52                 ans+=cal(2,5)*6;
53             }
54         }
55         printf("%lld\n",ans/24);    //???24?????????
56     }
57     return 0;
58 }

 

以上是关于UVA10601 Cubes的主要内容,如果未能解决你的问题,请参考以下文章

10601 - Cubes(Ploya)

UVA 10733 - The Colored Cubes(Ploya)

UVA10177 (2/3/4)-D Sqr/Rects/Cubes/Boxes?数学

uva1352 Colored Cubes LA3401

UVaLive 3401 Colored Cubes (暴力)

Python之Cubes框架使用