2013年4月9日
摘要: //BFS+优先队列(打印路径)#include<cstdio>#include<cstdlib>#include<cstring>#include<queue>using namespace std;const int ROW = 101;const int COL = 101;const int DIRS = 4;struct priNode { int x, y, time; friend bool operator < (priNode a, priNode b) { return a.time > b.time; }};st 阅读全文
posted @ 2013-04-09 21:37 Try86 阅读(917) 评论(0) 推荐(0) 编辑
摘要: //bfs+优先队列#include<cstdio>#include<cstring>#include<queue>using namespace std;const int ROW = 201;const int COL = 201;const int DIRS = 4;char map[ROW][COL];int dir[DIRS][2] = {-1,0,0,1,1,0,0,-1};struct priNode { int x, y, time; friend bool operator < (priNode a, priNode b) { ret 阅读全文
posted @ 2013-04-09 21:36 Try86 阅读(443) 评论(0) 推荐(0) 编辑
  2012年9月25日
摘要: /** auther: Try86* time:2012/9/25 13:14* dec:单链表:递归建立,递归反转,递归打印*/#include <stdio.h>#include <stdlib.h>#include <assert.h>typedef struct list //单链表节点结构{ int data; struct list *p_next;}List;int main(void){ int num = 0; //统计单链表的节点数 List *head = NULL; ... 阅读全文
posted @ 2012-09-25 13:18 Try86 阅读(1135) 评论(0) 推荐(0) 编辑
  2012年8月24日
摘要: #include <stdio.h>#include <stdlib.h>/*统计文件内容行数、单词数、字符数格式:可执行文件名 -l -w -c 数据文件列表*/int main(int argc, char* argv[]){ FILE* fp; int lflag, wflag, cflag; //l w c 3个标志 int line, word; //行内与单词内标志 int lcount, wcount, ccount; //统计变量 char *s; int c; if (argc < 2) //参数个数不够 { printf ... 阅读全文
posted @ 2012-08-24 12:35 Try86 阅读(860) 评论(0) 推荐(0) 编辑
  2012年7月24日
摘要: 题意给定一个由NC个字母组成的字符串,求长度为N的不同子串的个数思路:由于只有NC个字母,可以将字母编号,0 ~ NC - 1,转换成数字,就可以将字符串表示成NC进制的数字,这样所有字串代表的数字都是唯一的,转换成10进制的数也是唯一的!就像10的二进制表示只有1010例如3 4daababacd = 3a = 0b = 1c = 2daa = 3 * 4 ^ 2 + 0 * 4 ^ 1 + 0 * 4 ^ 0 = 48//vs1.0#include <stdio.h>#include <stdlib.h>#include <string.h>#defin 阅读全文
posted @ 2012-07-24 03:14 Try86 阅读(278) 评论(0) 推荐(0) 编辑
  2012年6月30日
摘要: 【转】RedHat Linux 9.0命令行模式下出现乱码的解决办法装好redhat发现命令行模式下有些命令会出乱码,尤其是那些烦人的错误提示变成乱码之后越发的烦人了。。。上网搜到了解决方法: 注:下面#为命令提示符 方法一: #locale (locale命令用于查看使用语言详细信息,为中文语言) #export LC_ALL=POSIX (export命令导出修改LC_ALL语言选项) #locale (再次查看,信息已经改变了) 该方法在用户注销或重启后将失效,要想保存设置,见方法2。 方法二: #vi /etc/sysconfig/i18... 阅读全文
posted @ 2012-06-30 19:00 Try86 阅读(1201) 评论(0) 推荐(0) 编辑
  2012年6月15日
摘要: 1 #include <cstdio> 2 #include <iostream> 3 4 using namespace std; 5 6 struct point { 7 int x, y; 8 }A, B, C; 9 10 int crossProd(point A, point B, point C) {//叉乘 11 return (B.x - A.x) * (C.y - A.y) - (B.y - A.y) * (C.x - A.x);12 }13 14 int main() {15 while (1) {16 scanf ("%d%d... 阅读全文
posted @ 2012-06-15 21:56 Try86 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 1 #include <cmath> 2 #include <cstdio> 3 #include <cstdlib> 4 #include <iostream> 5 6 using namespace std; 7 8 const int N = 105; 9 10 struct point {11 long long x, y;12 }p[N];13 14 long long dis(point A, point B) {//两点距离 15 return (long long)sqrt((A.x - B.x) * (A.x - B.x) + 阅读全文
posted @ 2012-06-15 21:55 Try86 阅读(157) 评论(0) 推荐(0) 编辑
  2012年6月3日
摘要: 1 /* 2 * 判断一堆点组成的形状是否为对称的 3 */ 4 5 #include <cmath> 6 #include <cstdio> 7 #include <cstdlib> 8 #include <iostream> 9 10 using namespace std;11 12 const int N = 10005;13 const double EPS = 1e-8;14 15 struct point {16 double x, y;17 }p[N], s;18 int used[N];19 20 int Rlcmp(doubl 阅读全文
posted @ 2012-06-03 08:59 Try86 阅读(211) 评论(0) 推荐(0) 编辑
  2012年5月31日
摘要: 巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规 定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果n=(m+1)*r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走k(≤m)个,那么先取者再拿走m+1-k个,结果剩下(m+1)(r-1)个,以后保持这样的取法,那么先取者肯定获胜。总之,要保持给对手留下(m+1)的倍数,就能最后获胜。 这个游戏还可以有一种变相的玩法:两个人轮流报数... 阅读全文
posted @ 2012-05-31 22:46 Try86 阅读(677) 评论(0) 推荐(0) 编辑