上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页
摘要: 题目:http://poj.org/problem?id=3087题意:给你两堆纸牌,让你通过数次洗牌动作使得洗牌之后的序列为给定序列。输出最小的洗牌次数。洗牌方法:把第二堆的第一张放在最下面,让后放第一堆最下面的那张,;轮流放。洗完之后,把下面的n张作为第一堆,上面的n张作为第二堆。做法:模拟纸牌的放法,一步步的放,当序列符合的时候就终止放。当纸牌的顺序和一开始的顺序相同的时候就输出-1。注意:经过n次洗牌之后,一定会得到和最开始的序列相同的时候,此时就是循环结代码:View Code 1 #include <iostream> 2 #include<cstdio> 阅读全文
posted @ 2013-01-27 20:11 琳&leen 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=3126题意:给你两个四位数,a和b,然后改变四位中的一位,从a改变到b,每次得到的数必须是素数,求最小改变次数注意:初始化问题,就是队列一开始一定要是空的。。。(wa了好几次)代码:View Code 1 #include <iostream> 2 #include<queue> 3 #include<cmath> 4 #include<cstring> 5 using namespace std; 6 queue<int>q; 7 int num[10010],m,n; 8 阅读全文
posted @ 2013-01-27 20:07 琳&leen 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1451这个题弄了好久,其实这个中文就挺难理解的,,一开始理解错题意了,,然后后来问了问ZJH学长题意,弄明白的,提交之后还是不对,后来回到宿舍之后问了问LMM学姐,感觉他的方法很好还有就是用dp了一、用栈模拟思路:利用一个标记数组,a[],用于记为第i个字符是否为合法字符,若是则标记为1,否则标记为0,最后便利一遍,最长合法字串就是最长的连续的1的长度,子串的个数就是有几段连续的i就是几二、dpdp[]数组存储i位置最长的合法子串的长度, 阅读全文
posted @ 2013-01-27 19:41 琳&leen 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=1426题意:给出一个整数n,(1 <= n <= 200)。求出任意一个它的倍数m,要求m必须只由十进制的'0'或'1'组成。注意:1、要求的这个数,大数肯定不能存,需要用数组存2、这个数的最高位一定是13、剩下的各个位只有两种可能,要么是1,要么是0,用bfs来处理4、停止bfs的条件是m%n==0,即可以利用上一位的余数×10%n,若等于0,则停止,否则继续。5、最后是输出部分,利用的是同余模定理处理,把*10操作转化为%2操作,逆向输出就可以了代码:View Code 1 # 阅读全文
posted @ 2013-01-26 21:25 琳&leen 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=2251View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<cstring> 4 #define pan(a,b,c) (a<=b&&b<=c) 5 using namespace std; 6 int dir[6][3]={{0,0,-1},{0,0,1},{-1,0,0},{1,0,0},{0,-1,0},{0,1,0}}; 7 int ex,ey,ez; 8 char str[35][35][35 阅读全文
posted @ 2013-01-26 13:54 琳&leen 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=1321没什么难度,比较水。。。View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<cstring> 4 #define pan(a,n) (a>=1&&a<=n) 5 using namespace std; 6 int n,k; 7 char str[10][10]; 8 int dire[4][2]={{1,0},{0,1}}; 9 int xvis[10],yvis[10];10 int num 阅读全文
posted @ 2013-01-26 13:53 琳&leen 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=3009题意:就是要求把一个冰壶从起点“2”用最少的步数移动到终点“3”其中0为移动区域,1为石头区域,冰壶会一直向着一个方向走下去,一直撞到石头或者到达终点才能改变方向,撞到石头时会停在石头前面而且这块石头会破碎,到终点会停止大概的思路就是:一个方向要是能走就就一直走下去一直到不能再往前走,然后就换方向(此时用while就可以解决,不需要递归调用),还有就是注意场地的恢复View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<cstrin 阅读全文
posted @ 2013-01-26 13:49 琳&leen 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=3083这个题吧,没什么难点,就是题意有点难懂,后来问了一下ZP,知道了是什么意思后就开始敲了,敲了一半,QC让我再去讲题,结果回到宿舍又把剩下的敲完的提交,然后1A题意主要是:给定一个迷宫,S是起点,E是终点,#是墙不可走,.可以走先输出左转优先时,从S到E的步数再输出右转优先时,从S到E的步数最后输出S到E的最短步数我设置的四个方向是,面向下为1,面向左为2,面向上为3,面向右为4代码:View Code 1 #include <iostream> 2 #include<cstring> 3 #include 阅读全文
posted @ 2013-01-23 23:57 琳&leen 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=2488没什么难度,,,就是字典序,要注意一下,一开始没看见。。。唉。。。View Code 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 int a[8][2]={{-2,-1},{-2,1},{-1,-2},{-1,2},{1,-2},{1,2},{2,-1},{2,1}}; 5 char str[2500]; 6 int are; 7 int flag; 8 int m,n; 9 int map[27][27];10 vo 阅读全文
posted @ 2013-01-22 21:20 琳&leen 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 题目:http://poj.org/problem?id=2418二叉排序树:View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 using namespace std; 6 int n=0; 7 typedef struct node 8 { 9 char s[31];10 int num;11 struct node *lchild;12 struct node *rchild;13 }btreenode,*b 阅读全文
posted @ 2013-01-22 17:38 琳&leen 阅读(132) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页