摘要: 题意:两个青蛙在赤道上跳跃,走环路。起始位置分别为x,y。每次跳跃距离分别为m,n。赤道长度为L。两青蛙跳跃方向与次数相同的情况下,问两青蛙是否有方法跳跃到同一点。输出最少跳跃次数。分析:扩展欧几里德。设两青蛙跳了s步。有方程:(x+n*s)-(y+m*s)=k*L。整理得:(n-m)*s+L*(-... 阅读全文
posted @ 2013-07-19 21:57 undefined2024 阅读(1709) 评论(0) 推荐(0)
摘要: 题意:给出一个八数码问题,求解法,不可解则输出unsolvable。分析:可以用ida*算法,估价函数可以使用每个数码到其最终位置的最短距离之和。对于不可解的判断,我这里用迭代深度大于100时判定为不可解。还有一种更高级的无解判断方法。就是将八数码矩阵中的空格忽略,然后将8个数字排成一排,第二行接在... 阅读全文
posted @ 2013-07-19 20:59 undefined2024 阅读(1237) 评论(0) 推荐(0)
摘要: 题意:给出n,要求输出第n个二叉树,二叉树编号规则如下图所示:分析:g[i]表示有i个节点的二叉树,有多少种。f[i][j]表示有i个节点,且左子树有j个节点的树有多少种。sumg[i]表示g数组前i个的和。sumf[i][j]表示f[i]数组前j项的和。有g[i]=sum(f[i][j]),f[i... 阅读全文
posted @ 2013-07-19 20:25 undefined2024 阅读(335) 评论(0) 推荐(0)
摘要: 模拟#include #include using namespace std;char numbers[10][5][3] = { { ' ', '-', ' ', '|', ' ', '|', ' ', ' ', ' ', '|', ... 阅读全文
posted @ 2013-07-19 20:00 undefined2024 阅读(233) 评论(0) 推荐(0)
摘要: 题意:有一个矩阵,要求在矩阵上找到一个四方向行走的路线,使得每走一步走到的格子中的数字都比上一步的要小,问路线最长有多长。分析:先将所有格子按数字大小排序。然后从最大的开始,每次看其四周是否有能走的格子,并更新四周格子的路线长度(每个格子中有一个变量记录以该格子为终点的最长路线长度)。当然,除了上述... 阅读全文
posted @ 2013-07-19 10:06 undefined2024 阅读(276) 评论(0) 推荐(0)