题目一(输出国际象棋棋盘) 分析: 用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格. 主要代码: for i in range(8): for j in range(8): if (i+j)%2!=0: print(chr(219)*2,end='') else: print(' ',end='') print('') 题目二(排列组合问题) 有1.2.3.4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少? 分析: 我们可以先预测一下,共有2
POj3421X-factor Chains 一开始没读懂题意,不太明白 Xi | Xi+1 where a | b means a perfectly divides into b的意思,后来才发现是要满足后一个数是前一个数的倍数 题目要求1 = X0, X1, X2, …, Xm = X,并且后一个数是前一个数的倍数,为了得到最长链,必须将数X进行质因数分解, 假设X=(a[1]^b[1])*...*(a[i]^b[i])*..(a[n]^b[n]),设m=b[1]+b[2]+..b[i]
[题目]H. Ember and Storm's Tree Game [题意]Zsnuoの博客 [算法]动态规划+排列组合 [题解]题目本身其实并不难,但是大量干扰因素让题目显得很神秘. 参考:Zsnuoの博客 一.首先Ember必胜(考虑n个点连成一条链),故合法的树一定满足先手必胜.当Storm选择的链满足单调或单峰时,每一条链对答案贡献两对(i,op). 解释:单调时,考虑翻转最后一个数和从第二个数开始取负两种操作.单峰时,上凸考虑翻转顶峰和顶峰右侧的数,下凸考虑取负顶峰和顶峰右侧的数.