博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa 10601 (Polya计数 等价类计数) Cubes
阅读量:5160 次
发布时间:2019-06-13

本文共 1926 字,大约阅读时间需要 6 分钟。

用6种颜色去染正方体的12条棱,但是每种颜色都都限制了使用次数。

要确定正方体的每一条棱,可以先选择6个面之一作为顶面,然后剩下的四个面选一个作为前面,共有24种。

所以正方体的置换群共有24个置换。

具体每种置换的情况就是:

幸运的是,任意一个置换中的循环节长度都是相同的(有一种置换除外),所以在计算每个置换的“不动点”的时候就方便了很多。

调了好久调不对样例,后来发现C[0][0]没有初始化为1,=_=||

1 #include 
2 #include
3 #include
4 #include
5 using namespace std; 6 typedef long long LL; 7 8 int a[7], b[7]; 9 const int maxn = 12;10 LL C[15][15];11 12 LL cal(int k)//k为循环节长度13 {14 LL ans = 1;15 vector
t;16 int num = 0; //num为循环节的个数17 for(int i = 0; i < 6; i++)18 {19 if(a[i] % k == 0) { t.push_back(a[i]/k); num += a[i]/k; }20 else return 0;21 }22 for(int i = 0; i < 6; i++)23 {24 ans *= C[num][t[i]];25 num -= t[i];26 }27 return ans;28 }29 30 int main()31 {32 //freopen("in.txt", "r", stdin);33 34 for(int i = 0; i <= maxn; i++) C[i][0] = C[i][i] = 1;35 for(int i = 2; i <= maxn; i++)36 for(int j = 1; j <= i; j++)37 C[i][j] = C[i-1][j] + C[i-1][j-1];38 39 int T;40 scanf("%d", &T);41 while(T--)42 {43 memset(a, 0, sizeof(a));44 int x;45 for(int i = 0; i < 12; i++) { scanf("%d", &x); a[x-1]++; }46 LL ans = 0;47 ans += cal(1); //原始排列48 ans += 3 * cal(2); //以两个对面的中心为轴旋转180°49 ans += 3 * 2 * cal(4); //以两个对面的中心为轴旋转90°或270°50 ans += 4 * 2 * cal(3); //以两个对角顶点为中心旋转51 for(int i = 0; i < 6; i++)52 for(int j = 0; j < 6; j++)53 {
//以两个对棱中心连线为轴旋转180°54 if(a[i] == 0 || a[j] == 0) continue;55 a[i]--; a[j]--;//减去两个1循环56 ans += 6 * cal(2);57 a[i]++; a[j]++;58 }59 printf("%lld\n", ans / 24);60 }61 62 return 0;63 }
代码君

 

转载于:https://www.cnblogs.com/AOQNRMGYXLMV/p/4369858.html

你可能感兴趣的文章
抛弃IIS,利用FastCGI让Asp.net与Nginx在一起
查看>>
C. Tanya and Toys_模拟
查看>>
springboot jar包运行中获取资源文件
查看>>
基于FPGA实现的高速串行交换模块实现方法研究
查看>>
Java Scala获取所有注解的类信息
查看>>
delphi ,安装插件
查看>>
case when then的用法-leetcode交换工资
查看>>
11.28.cookie
查看>>
BeanShell简介
查看>>
python字符串操作
查看>>
不同程序语言的注释和变量要求
查看>>
语言基础(9):static, extern 和 inline
查看>>
邮件和短信验证码
查看>>
(转)Android studio 使用心得(五)—代码混淆和破解apk
查看>>
构建之法阅读笔记03
查看>>
ES5_03_Object扩展
查看>>
Apache-ab 接口性能测试
查看>>
EF 4.1 Code First Walkthrough
查看>>
常用MySQL语法
查看>>
bzoj 2600: [Ioi2011]ricehub
查看>>