摘要: Description 给定一个m × n (m行, n列)的迷宫,迷宫中有两个位置,gloria想从迷宫的一个位置走到另外一个位置,当然迷宫中有些地方是空地,gloria可以穿越,有些地方是障碍,她必须绕行,从迷宫的一个位置,只能走到与它相邻的4个位置中,当然在行走过程中,gloria不能走到迷宫外面去。令人头痛的是,gloria是个没什么方向感的人,因此,她在行走过程中,不能转太多弯了,否则她会晕倒的。我们假定给定的两个位置都是空地,初始时,gloria所面向的方向未定,她可以选择4个方向的任何一个出发,而不算成一次转弯。gloria能从一个位置走到另外一个位置吗?Input 第 阅读全文
posted @ 2012-02-28 00:32 zhsl 阅读(150) 评论(0) 推荐(0) 编辑
摘要: DescriptionMany geometry(几何)problems were designed in the ACM/ICPC. Andnow, I also prepare a geometry problem for this final exam. According to theexperience of many ACMers, geometry problems are always much trouble, but thisproblem is very easy, after all we are now attending an exam, not a contest 阅读全文
posted @ 2012-02-16 11:17 zhsl 阅读(138) 评论(0) 推荐(0) 编辑
摘要: DescriptionBackgroundThe knight is getting bored of seeing the same black and white squares again and again and has decided to make a journeyaround the world. Whenever a knight moves, it is two squares in one direction and one square perpendicular to this. The world of a knight is the chessboard he 阅读全文
posted @ 2012-02-16 01:27 zhsl 阅读(163) 评论(0) 推荐(0) 编辑
摘要: Description在N*N的方格棋盘放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在与棋盘边框成45角的斜线上。你的任务是,对于给定的N,求出有多少种合法的放置方法。Input共有若干行,每行一个正整数N≤10,表示棋盘和皇后的数量;如果N=0,表示结束。Output共有若干行,每行一个正整数,表示对应输入行的皇后的不同放置数量。Sample Input1850Sample Output19210 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2553 DFS+回溯 低效:#include<std 阅读全文
posted @ 2012-02-15 15:57 zhsl 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 跟风发个这种蛋疼文体。普通程序员void swap(int &a,int &b){ int temp; temp=a; a=b; b=temp;}文艺程序员void swap(int &a,int &b){ a=a^b; b=a^b; a=a^b;}2B程序员void swap(int a,int b){ int temp; temp=a; a=b; b=temp;}希望能引起广大苦逼的正在学或者已经学过c++人的共鸣和会心一笑吧。。 阅读全文
posted @ 2012-02-03 17:31 zhsl 阅读(177) 评论(0) 推荐(0) 编辑
摘要: DescriptionThere is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he can move to one of four adjacent tiles. But he can't move on red tiles, he can move only on black tiles.Write a program to count the num 阅读全文
posted @ 2012-02-01 14:13 zhsl 阅读(132) 评论(0) 推荐(0) 编辑
摘要: Description定义一个二维数组:int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。Input一个5 × 5的二维数组,表示一个迷宫。数据保证有唯一解。Output左上角到右下角的最短路径,格式如样例所示。Sample Input0 1 0 0 00 1 0 1 00 0 0 0 00 1 1 1 00 0 0 1 阅读全文
posted @ 2012-01-31 17:27 zhsl 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 黑白图像Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByteTotal Submit:282 Accepted:82Description输入一个n×n的黑白图像(1表示黑色,0表示白色),任务是统计其中八连块的个数。如果两个黑格子有公共边或者公共顶点,就说它们属于同一个八连块。如下图所示的图形有3个八连块。Input第1行输入一个正整数n(n≤700),此后输入n行,每行是由n个0或1组成的字符串。Output在输入黑白图像中,八连块的个数Sample Input610010000101000000011... 阅读全文
posted @ 2012-01-31 12:22 zhsl 阅读(279) 评论(0) 推荐(0) 编辑
摘要: DescriptionThere is a famous railway station in PopPush City. Country there is incredibly hilly. The station was built in last century. Unfortunately, funds were extremely limited that time. It was possible to establish only a surface track. Moreover, it turned out that the station could be only a d 阅读全文
posted @ 2012-01-30 22:18 zhsl 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 老妈叫我一些以前的东西,那些被我遗弃在某个角落,却陪伴我度过了一段美好的时光。不经意间,已破旧的不能再开机的A-one映入了我的眼帘。 想起我的第一台文曲星(wqx)TC808,带给了我欢快的时光,现在却早已不存在了,只留下了美好的回忆。 我用电子词典之类的产品用得比较晚,还是在初一的时候买的。我像大多数人一样,打着学习的幌子要求父母买一个电子词典玩游戏。那时,好记星打广告打得比较火,我父母一听要买电子词典,就说买好记星的,有五维记忆法。。。我一想起玩过同学的机子,甚么五维,我kao,就是先填词,再听写或者填空,也可以选择先跟读再选择,我tm神马小儿科!!!我小学同学用的杂牌机都... 阅读全文
posted @ 2012-01-18 15:38 zhsl 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 试着用google translate翻译“我英语学得不好”,你会被google雷倒的,有图有真相: 我当时顿时被雷到了,前一秒还睡意未醒的我立刻变得亢奋起来,一连刷新了好几次网页,始终不相信这是well,well,well~~~~~~怎么会这么坑,google技术人员的语文不会真么差吧?难道这是google对我天朝的讽刺?还是想说你们中国谦虚?怎么会英语说得不好,是谦虚吧= =! 本着对事物一探究竟的伟大精神~~,我一连测试了n组数据: “我英语学的不好“(得→的... 阅读全文
posted @ 2012-01-15 22:42 zhsl 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 9.9.1快速排序介绍 终于我们的高手要登场了,如果将来你工作后,你的老板要让你写个排序算法,而你会的算法中竟然没有快速排序,我想你还是不要声张,偷偷去把快速排序算法找来敲进电脑,这样至少你不至于被大伙儿取笑。 事实上,不论是C++ STL、Java SDK或者.NET FrameWork SDK等开发工具包中的源代码里都能找到它的某种实现版本。 快速排序算法最早由图灵奖获得者Tony Hoare设计出来的,他在形式化方法理论,以及ALGOL60 编程语言的发明都有卓越的贡献,是上世纪最伟大的计算机科学家之一。而这快速排序算法只是他众多贡献中的一个小发明而已。 更牛的是,我们现在要学习的这个快 阅读全文
posted @ 2012-01-04 22:58 zhsl 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 众所周知,每一个二维数组有n行个二级指针指向数组的每一行,每一行有m个一级指针指向数组的每一个元素。因此,我们动态分配二维数组只要分配n个二级指针,n*m个一级指针就行了,先来看一个常用的方法:int i,**p=(int**)malloc(row*sizeof(int)); for(i=0;i<row;i++) p[i]=(int*)malloc(column*sizeof(int)); 但这个方法每次分配指针时都要调用(void)malloc(int)函数,在分配上浪费了时间,因此可以做如下简化: int i,**p=(int**)malloc(row*sizeof(int)); p 阅读全文
posted @ 2012-01-04 12:50 zhsl 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 先看题目:Description数字N的因子就是所有比N小又能被N整除的所有正整数,如12的因子有1,2,3,4,6.现在给出一个正整数,求其因子之和。Input输入数据的第一行是一个数字T(1<=T<=500000),它表明测试数据的组数.然后是T组测试数据,每组测试数据只有一个数字N(1<=N<=500000).Output对于每组测试数据,请输出输入数据N的因子之和.Sample Input321020Sample Output1822这是前几天进行个人训练赛遇到的题目,当时看到数据范围只有500000,于是就想到暴力求解。结果这一暴力就出问题了,OJ毫不留情的给 阅读全文
posted @ 2012-01-01 14:37 zhsl 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 大一开学已经有两个月了,我之前从没有想到大学是这么的忙,尤其是这段时间,每天5个小时的睡眠让我不堪重负。前段时间学习c语言时发现了些问题,总该记录一下:首先是getchar()函数,记得以前我基本上是用它来做停顿用的,能让exe在windows环境下运行后不直接退出,可下面的代码发现了问题:#include<stdio.h> #define N 30 void rd(int i,int k); int a[N]; void main() { int n; scanf("%d",&n); a[0]=n; rd(n,1); getchar(); } void 阅读全文
posted @ 2011-10-30 02:59 zhsl 阅读(228) 评论(0) 推荐(0) 编辑