Paperfolding】的更多相关文章

著名的折纸问题:给你一张很大的纸,对折以后再对折,再对折……每次对折都是从右往左折,因此在折了很多次以后,原先的大纸会变成一个窄窄的纸条.现在把这个纸条沿着折纸的痕迹打开,每次都只打开“一半”,即把每个痕迹做成一个直角,那么从纸的一端沿着和纸面平行的方向看过去,会看到一条美妙的曲线. 就是一个分形,规定一下,纸的朝向,然后不难发现规律. 实现方面,可以迭代也可递归. 在图形输出方面,存下x和y坐标,然后下标排个序,或者用map. //Rey 2015.8.3 #include<bits/stdc…
题意: 给你一片纸,你可以对它进行四种操作,分别是向上.向下.向左.向右对折.把对折之后的纸片横向剪开,再纵向剪开(十字架剪开) 问你你能剪出来的纸片的期望个数 题解(参考:https://blog.csdn.net/fztsilly/article/details/107799718): 很显然,向下和向上对折是一样的,向左和向右对折一样.那么也就变成了两种对折方式(这里为向下和向右).选择其中某种方法可能性为1/2,同时对折的先后顺序不影响最后结果,即"右右下"和"下右右…
传送门:https://vjudge.net/problem/HDU-6822 题意:给你一张无限的纸有四种折叠方式,并且在n次折叠后减两刀问最后纸张数量的数学期望. 思路:我们要得到一个通项公式对于不同折叠情况下的最后所得纸张数量,因为从上往下对折和从下往上对折是一样的,同理从左忘右对折和从右往左对折也是一样的那么假设从上往下对折k次那么从左往右对折n-k次,那么横线有2k+1条竖线有2n-k+1条,因为最后是从中心位置横竖减两刀,所以最后的纸片数量就是(2k+1)*(2n-k+1)个.接下来…
第1关气温预测 def dailyTemps(temp_list): result = [] for ca in range(0, len(temp_list)-1): for i in range(ca + 1, len(temp_list)): ind = temp_list[ca] flag = 0 if (temp_list[i] > ind): result.append(i - ca) flag = 1 break if (flag == 0): result.append(0) r…