摘要: 这题就是简单的BFS搜索,刚刚转到C++,还有很多库函数不熟悉,理解到BFS是一种奇妙的迭代法,其用的主要是队列的性质。 1 /*BFS简单搜索*/ 2 #include<iostream> 3 #include<queue> 4 #include<cstring> 5 6 using namespace std; 7 8 int map[8][8];//标记数组 9 int dir[8][2]={{-2,-1},{-1,-2},{1,-2},{2,-1},{2,1},{1,2},{-1,2},{-2,1}};10 11 struct point12 {13 阅读全文
posted @ 2012-02-16 23:18 hankers 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 该题纯属数学问题,已知不共线的三点,求这三点构成圆周周长通过这三点可求得三边a,b,c。利用余弦定理求得A的余弦值,再根据圆的性质之一:一段弧所对圆周角均相等,即可转化到该圆以a为直角边以d为斜边的直角三角形则d=a/cosA C=PI*d 1 #include<iostream> 2 #include<math.h> 3 #define PI 3.141592653589793 4 using namespace std; 5 int main() 6 { 7 double x0,x1,x2,y0,y1,y2,a,b,c,cosA; 8 while(scanf(&qu 阅读全文
posted @ 2012-02-16 16:38 hankers 阅读(409) 评论(1) 推荐(0) 编辑
摘要: 组合数学--Polya定理类型题总结:POJ 1286 Necklace of BeadsPOJ 2409 Let it BeadPOJ 2154 ColorPOJ 2888 Magic BraceletHDU 1812 Count the TetrisPolya定理:设G是n个对象的一个置换群,用m种颜色涂染这n个对象,则不同染色的方案数L=1/|G|*[m^p(a1)+m^p(a2)+....+m^p(an)].其中p(ai)是某个置换的循环数.1.旋转置换.我们假设依次顺时针旋转1~n个,则循环个数=gcd(i,n);2.翻转置换当n为偶数时,分两种情况,一种是中心轴在两个对称对象上,则 阅读全文
posted @ 2012-02-16 15:39 hankers 阅读(854) 评论(0) 推荐(0) 编辑