搜索
文章平均质量分 77
TC_jiang886
这个作者很懒,什么都没留下…
展开
-
南阳oj 306 走迷宫
#include #include int map[150][150],mmax,mmin,flag; int n,bu[4][2]={1,0,-1,0,0,1,0,-1}; int Map1[150][150]; void dfs(int x,int y,int L,int R) { if(x==n&&y==n) { flag=1;原创 2014-07-06 19:25:17 · 637 阅读 · 0 评论 -
nyoj 24 Point game
/* 题意:输入有t组 每组的n,m和n个数,问这n个数是否经过运算后是否和m相等,n个数的位置可调换 搜索大体思路:把n个数经过一次运算后话为n-1向下搜索 */ #include const double E=1e-9; int n; double v,num[7]; double fac(double aa) { if(aa>v) return原创 2014-12-22 15:59:01 · 558 阅读 · 0 评论 -
hdu 1254 推箱子
/* bfs+bfs,首先是上一步的人位置能否在某个方向推动箱子,然后就是箱子移动后的标记,开一个三维数组进行标记 前两维标记坐标,第三维标记箱子从什么方向推到该位置 */ #include #include #include using namespace std; int Map[10][10][2],n,m,Map1[10][10][4],bu[4][2]={0,1,0,-1原创 2014-11-06 12:58:53 · 454 阅读 · 0 评论 -
hdu Different Digits 1664
/* 题意:给你一个数n找到一个数先要保证这个数的元素最少,在保证元素最少的情况下,保证这个数最小,元素最少指的是, 111111就是一个元素,12222就是连个元素。 思路: 对于任意的整数 n ,必然存在一个由不多于两个的数来组成的一个倍数。 因为 a , aa , aaa…… 取 n+1 个, 则由鸽笼原理(抽屉原理),必有两个模 n 余数相同,相减即得 n 的倍数 m 。而 m原创 2014-11-22 10:06:24 · 495 阅读 · 0 评论 -
HDU 1983 Kaitou Kid - The Phantom Thief (2)
/* dfs+bfs 最多有四个,因为把入口的上下左右的四个方向都堵住,肯定偷不到宝石, 所以用深搜每一个点,用广搜判断是否能偷到,广搜是,用三维数组进行标记,再搜原图, 刚开始搜是,用Map1[][][0]标记第一层,当找到宝石的时候,用Map[][][1]标记,这样原来走过的 的点也能走(想当与把搜到的第一个点当成源点进行搜索)。 */ #include #include #i原创 2014-11-01 14:31:11 · 464 阅读 · 0 评论 -
hdu 逃离迷宫 1728
/* 以源点为为一个队列,搜遍队列所有元素的四个方向,存到另一个队列,在遍历另一个队列 这样我们就不用考虑,是否拐过弯了 */ #include #include #include using namespace std; char Map[105][105]; int Map1[105][105],bu[4][2]= {0,1,0,-1,1,0,-1,0},n,m,T;原创 2014-11-01 21:25:01 · 397 阅读 · 0 评论 -
hdu 1072 Nightmare
/* 题意:给出t组数据,每组数据n,m代表n行m列0代表墙,1代表路,2代表初始位置,3代表目的地, 4代表复位,人没走一步,需一秒,炸弹初始值有6秒,如果达到复位时炸弹的刚好为0不能复位, 达到出口位置,炸弹剩余位置干好位置为0也不行 思路:因为可以往回走,所以不能只是标记走过没有,应该标记走到的时间,如果这一次走到该位置的时间 大于上一次的时间,才有可能走到目的地否则就不用再走一遍原创 2014-10-30 12:19:36 · 370 阅读 · 0 评论 -
poj 1256 Anagram
/* 题意:有t组数据,每组有不超过13个字符的字符串,有大小写的区分顺序是'A' 按从小到大的顺序输出。 排序后像输出素数环一样输出,问题是怎样进行判重,加一个标记,但这个标记不递归下去,因为排序后相同的字符肯定在一块 当和标记不一样时,因为有for循环存在,所以不会再出现,所以就去掉重复的,因为是递归,所以每一层都有一个flag1,但每 一层的flag1的值是不一样的 */ #i原创 2014-11-15 16:14:00 · 499 阅读 · 0 评论 -
poj The Clocks 1166
/* 题意:给一个3*3的图,每个数字都在0-3的范围内,0代表钟表12点,1代表3点,2,3,分别代表6点和9点有九种方式 移动,每种移动特定的几个,每次移动都顺势针移动90度 */ #include int main() { int a[15],b[15],c[15],i; for(i=1; i scanf("%d",&a[i]);原创 2014-11-14 12:40:13 · 406 阅读 · 0 评论 -
hdu 1026 Ignatius and the Princess I
/* 题意:给一个n*m的图,图中有X,有.有数字,x代表墙,.代表路,数字代表当走到这个地方的时候,还要停留多少 秒,问你从左上角到右下角的最少时间是多少。当能走通的时候,要把路径打印出来。 除了Map数组和标记数组之外,还应该有一个结构体数组存放当前点是由那个点广搜过来的 */ #include #include #include using namespace std; c原创 2014-11-13 13:14:58 · 377 阅读 · 0 评论 -
HDU 1010 Tempter of the Bone
题意:S是当前点,D是门,T是时间,原创 2014-10-27 14:25:41 · 369 阅读 · 0 评论 -
hdu 超级密码 1226
/* 同余的定义:如果m|(a-b)则a同余b即a与b对m取余后的余数相同 定理: 【1】如果a1同余b1(mod m) a2同余b2(mod m)则a1*a2同余b1*b2(mod m) 【2】如果a1同余b1(mod m) a2同余b2(mod m)则a1+a2同余b1+b2(mod m) 证明: 1)a1=b1+k1*m a2=b2+k2*m a1*a2=b1*b2+(k1原创 2014-11-17 15:55:08 · 540 阅读 · 0 评论