摘要: View Code 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 5 struct XPoint 6 { 7 int x; 8 int step; 9 }s,e;10 11 XPoint route[110000];12 bool visited[110000];13 int rear,top;14 15 XPoint bfs(XPoint point);16 17 void init()18 {19 int m,n;20 while(cin>>m>>n)21 阅读全文
posted @ 2011-10-31 02:04 YipWingTim 阅读(222) 评论(0) 推荐(0)
摘要: //1321、我分分钟都可以A掉你你都不知道系咩事、A掉的那一刻,我盯着屏幕看了好久,这真是一道让我痛苦万分的题目,递归啊递归。。。是看了discuss里有个人贴的错误代码才获得灵感。。。思考了那么久,是那么的值得,差点放弃了。。。另外这道题要深刻总结,网上看了两种更简洁的方法,明天具体分析。真是一道关于深搜、递归的好题。View Code 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 using namespace std; 5 6 char map[9][9]; 7 int s 阅读全文
posted @ 2011-10-27 02:36 YipWingTim 阅读(237) 评论(0) 推荐(0)
摘要: 其实编码时间用得较久,无明显异常。提交发现一直的RuntimeError,查到是关于数组越界等错误,猛然想起自己的队列开得不够大,最多30*30*30个点,硬是被我估算成9000,开个20000的队列还以为很大了,哎。。。三维的广搜而已,广搜要记得涂每个点的层数,我是用结构体增加一个数据项step来实现的,这个考虑了比较久,不应该啊,之前应该写过类似的,不总结很不好啊。View Code 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 using namespace std; 5 6 阅读全文
posted @ 2011-10-26 03:10 YipWingTim 阅读(161) 评论(0) 推荐(0)
摘要: 从昨晚11点钟开始编码,2点半睡觉,8点半起床,编码不用1个小时,调试用了无数的时间。总之还是一句话,编码之前方方面面考虑清楚,到后面的调试就不会用很多时间了。继续加油,还是太浪费时间了。。。。这道题深度优先搜索,要考虑很多细节问题。View Code 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 using namespace std; 5 6 int map[40][40]; 7 int weigth,height; 8 9 #define ONLINE 10 11 void 阅读全文
posted @ 2011-10-25 09:54 YipWingTim 阅读(170) 评论(0) 推荐(0)
摘要: 以后建坐标系一定要以列为X轴,以行为Y轴。由于开始编码时没清晰认识到其重要性,导致调试非常麻烦。感觉我的DFS和BFS都写的比较简洁,心里很满意。。。虽然一次就AC了,但是昨晚调到3点钟,今天中午又调试了起码一个小时。思路还是很清楚的,就是要注意细节,编码阶段越认真后面的阶段越省事。。。View Code 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 using namespace std; 5 6 int map[41][41]; 7 int direction[5][2]={{ 阅读全文
posted @ 2011-10-24 14:30 YipWingTim 阅读(213) 评论(0) 推荐(0)
摘要: 很明显的深搜问题。继续加深对递归过程的理解。先贴个WA的代码,原因是每次递归的时候只能确定当前值,而返回是从最后调用的依次向最先调用的返回,刚开始输出不知如何处理,因为只能逆序比较简单。当时头脑发热,想从最后(p,q)点迭代,错误的以为这是从(1,1)迭代的逆过程。虽然样例能过,但是显然没有理解深搜的概念,因为逆过去了就相当于从(p,q)点开始深度优先。View Code 1 /*解题思路:最难理解的是按字典序输出。一直在考虑应该怎样才算是按字典序输出,应该是所有可能的输出序列中按字典序的第一个。 2 这样可以知道每次DFS的时候选取8个方向的时候有个选取顺序问题。*/ 3 4 #incl.. 阅读全文
posted @ 2011-10-22 05:22 YipWingTim 阅读(287) 评论(0) 推荐(0)
摘要: 提交一次就accept了,唯一的瑕疵是又调试了,因为自己的逻辑不清楚,导致sign数组的赋值与函数调用的关系没弄清楚。应该从第一次调用时就开始考虑所有数据,而不是从下一次着眼,想当然了。。。View Code 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 5 #define ONLINE 6 7 using namespace std; 8 9 int column,row,begin; 10 int sign[11][11]; 11 char map[11][11]; 12 in 阅读全文
posted @ 2011-10-21 02:10 YipWingTim 阅读(157) 评论(0) 推荐(0)
摘要: 终于可以说这是道比较简单的模拟题了。虽然做了3个多小时,但是自己比较满意。加油,以后会越来越快的。很享受思路清晰地编程实现。还有,C下面的调试我算是会用了。View Code 1 #include<iostream> 2 #include<cstring> 3 #include<cstdlib> 4 #include<cstdio> 5 using namespace std; 6 7 #define ONLINE 8 9 struct Robot 10 { 11 int x; 12 int y; 13 int d; //direction:N, 阅读全文
posted @ 2011-10-20 22:15 YipWingTim 阅读(244) 评论(0) 推荐(0)
摘要: 连续超时了N次。具体不知道是不是因为用了cin.ignore()这个函数导致读到文件尾不能结束。。。?(等待解决)可以考虑文件结束符是EOF,而player估计初始化的是NULL,到while的时候由于忽略了这个文件结束符,故会一直等待。getline()函数会丢弃最后的enter符。网上摘抄总结:第一:要注意不同的函数是否接受空格符、是否舍弃最后的回车符的问题!读取字符时:scanf()以Space、Enter、Tab结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中);getchar()以Enter结束输入,也不会舍弃最后的回车符;读取字符串时:scanf()以Space、Ent 阅读全文
posted @ 2011-10-20 04:25 YipWingTim 阅读(294) 评论(0) 推荐(0)
摘要: 实现思路:用到的数据结构:struct Piece{int x,y,v};vector<vector<Piece> > pieces(12);Piece主要用于存点的信息,行号,列号,还有字符值(int(char))。根据输出的要求知道必须按字符顺序输出,从K开始,这样每个字符用于数组(即vector)的下标,根据每个pieces[i]可以给基于同样字符的点排序。输出时转换注意数字,大写字母,小写字母的ASCII码是逐渐变大的,比如字符为v(为小写),要输出对应的大写字母,则可以char(v-'a'+'A')就可以满足要求。注意比较函数是 阅读全文
posted @ 2011-10-19 19:34 YipWingTim 阅读(288) 评论(0) 推荐(0)