POJ 1286 Necklace of Beads(Polya简单应用)
2016-04-11 21:49
507 查看
Necklace of Beads
大意:3种颜色的珠子,n个串在一起,旋转变换跟反转变换假设同样就算是同一种,问会有多少种不同的组合。
思路:正规学Polya的第一道题,在楠神的带领下,理解的还算挺快的。代码没什么好说的,裸的Polya。也不须要优化。
大意:3种颜色的珠子,n个串在一起,旋转变换跟反转变换假设同样就算是同一种,问会有多少种不同的组合。
思路:正规学Polya的第一道题,在楠神的带领下,理解的还算挺快的。代码没什么好说的,裸的Polya。也不须要优化。
/************************************************************************* > File Name: POJ1286.cpp > Author: GLSilence > Created Time: 2014年07月29日 星期二 22时05分01秒 ************************************************************************/ #include<stdio.h> #include<iostream> #include <math.h> #define LL long long using namespace std; LL GCD(LL a, LL b){ return (b)?(GCD(b, a%b)):a; } int n; int main() { while(~scanf("%d", &n) && n!=-1){ if(n == 0){ printf("0\n"); continue; } LL ans = 0; for(int i = 1; i <= n; ++i){ ans += (LL)pow(3.0, GCD(n, i)); } if(n%2){ ans += n*(LL)pow(3.0, n/2+1); } else { ans += n/2*(LL)pow(3.0, n/2); ans += n/2*(LL)pow(3.0, n/2+1); } printf("%lld\n", ans/2/n); } return 0; }
相关文章推荐
- 关于Spring常用的注解
- STM32f103 定时器配置和中断处理函数
- Hibernate对象的三种状态
- 数组篇(1):给we are happy的每一个空格加“ ”、字符串逆序:i am a student
- Fragment 嵌套ViewPager(ViewPager里面有多个Fragment)
- 最小生成树模板(prim前向星)
- [c++] C++11 Signals and Slots
- 聪明的人类往往喜欢独处
- 事务隔离级别
- 团队介绍
- Linux 下用vfork()创建进程,子进程用return和exit返回的区别
- bootstrap的table表头固定tbody滚动
- #leetcode#338. Counting Bits
- 关于举办大数据处理技术培训的通知
- “大数据分析高级工程师”培训
- 求解路由路径问题(华为挑战赛小思)
- 模拟printf函数,//print("val:s ccccc\n","hello", 'w,'o','r','l','d'); //val:hello world(可变参数列表)
- Java入门 第一季第四章 流程控制语句
- c++第三次实验
- 关于举办大数据处理技术培训的通知