摘要: 题目链接数据中有空格。2Y。View Code 1 #include<stdio.h> 2 #include<string.h> 3 int p[1001][1001]; 4 int main() 5 { 6 int a,b,c,d; 7 char str1[1001],str2[1001]; 8 while(gets(str1)) 9 {10 gets(str2);11 c=strlen(str1);12 d=strlen(str2);13 for(a=0;a<=c;a++)14 ... 阅读全文
posted @ 2012-06-11 21:45 Naix_x 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 题目链接在POJ训练计划中构造法的一个题,题目还是挺有意思的,就是离散中真值表给构造出来,马上要考离散了,就当复习一下析取和合取。。。思路:先搜一下5个命题的真假(枚举),然后从后往前推,用了栈的思想,判断复合命题是否为真。开始以为栈中只能有两个元素,WA了一次,改改OK了。。 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 int p[7],o[200],z; 5 char str[5000]; 6 int find() 7 { 8 int i,j,k,l; 9 l = 阅读全文
posted @ 2012-06-09 09:51 Naix_x 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 题目链接又是边界。。。错了两次,从今天开始准备期末考试,明显挑战很大啊!#include <stdio.h>#include <string.h>int p[20][20],o1[300],o2[300];int main(){ int i,j,k,start,end,c0,r0; int num; int change1[9]= {1,1,-1,-1,2,2,-2,-2}; int change2[9]= {2,-2,2,-2,1,-1,1,-1}; char c1,r1,c2,r2; while(scanf("%c%c%*c%c%c%*c",&a 阅读全文
posted @ 2012-06-04 22:03 Naix_x 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题目链接这个题,真郁闷啊!!!!昨天折腾了晚上写了个DFS。。。交了三次都超时,今天写BFS,折腾了一晚上 一个i打成start 我硬是没发现那里错了,这么大的错误,竟然过了很多数据,受不了啊。。。自己要认真认真认真啊!!!!!! 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 char p[31][31][31]; 5 int ll[100001],rr[100001],cc[100001]; 6 int endl,endr,endc,l,r,c; 7 int main( 阅读全文
posted @ 2012-06-02 21:19 Naix_x 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 题目链接再刷一个BFS。 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 char p[50][50]; 5 int k[50][50],o1[10000],o2[10000]; 6 int main() 7 { 8 int i,j,a,w,h,start,end; 9 int j1[5] = {1,-1,0,0},j2[5] = {0,0,1,-1};10 while(scanf("%d%d%*c",&w,&h)!=EOF)11 {12 阅读全文
posted @ 2012-06-02 15:05 Naix_x 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 题目链接好郁闷的半下午+一晚上。。做了个本应用BFS的题,我用DFS写了130+,结果怎么都是超时。。。烦了。。。。刷个UVA,挺简单的题,防止没完没了的WA,做的还是挺谨慎的,感觉用的做法比较麻烦不知能否用scanf输入,无所谓了,还好1A。 1 #include <stdio.h> 2 #include <string.h> 3 int main() 4 { 5 char p1[1000],p2[1000],o1[1000],o2[1000],k1[1000],k2[1000]; 6 int n,i,j,l1,l2,z,e; 7 scanf("%d%*c& 阅读全文
posted @ 2012-06-01 21:31 Naix_x 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 题目链接自己居然想了个很麻烦的办法。。。重复搜索了很多次,最后除以K!,果断超时。。。早该想到应该往下搜,就不会重复了,没改好啊,居然又WA几次。。。多亏了虎哥的提示。。。 1 #include <stdio.h> 2 #include <string.h> 3 int n,k; 4 long long num; 5 char p[10][10],h[10],l[10]; 6 void dfs(int x,int y,int step) 7 { 8 int i,j; 9 h[x] = 1;10 l[y] = 1;11 if(step == k)12 {1... 阅读全文
posted @ 2012-05-31 21:49 Naix_x 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 题目链接 很久很久以前就见过的,当时不会做,最近在搞DFS,做做吧。。。花时间好长,折腾了一下午,由于一个1打成了0,2Y。。。期间可耻的冲进DISCUSS查错,有时候DISCUSS也会误导人啊,里面说啥的也有,很多不靠谱的说法。。。还好,自己又检查了一遍代码,发现这个错误。。。把深搜的过程写复杂了,看discuss的时候看见有简单的表达方式。 由于把代码打出来后,发现行和列倒过来了,改一下输入就好。我把英文看做行,数字看做列,所以字典序应该是先上 再左。所以深搜的时候按这个顺序。每组数据注意多输出个空行。 1 #include <stdio.h> 2 #include <s 阅读全文
posted @ 2012-05-31 17:10 Naix_x 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题目链接好裸,BFS。杭电多组。。2A。。 1 #include <stdio.h> 2 #include <string.h> 3 int p[100001],o[100001]; 4 int main() 5 { 6 int n,k,i,j,start=0,end=0,num=0; 7 while(scanf("%d%d",&n,&k)!=EOF) 8 { 9 memset(o,0,sizeof(o));10 start=0,end=0,num=0;11 p[start] = n;12 o[n] = 1... 阅读全文
posted @ 2012-05-30 21:19 Naix_x 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目链接无语+ 无奈 10+的错误,看不懂的题意,不懂为何会AC,为神马删了对O和0的判断就AC。。。真受不了。。。 1 #include <stdio.h> 2 #include <string.h> 3 int main() 4 { 5 int i,j,len,x,y; 6 char p[1000],o[1000]; 7 while(gets(p)) 8 { 9 x = y = 1;10 len = strlen(p);11 for(i = 0; i <= len-1; i ++)12 {13 ... 阅读全文
posted @ 2012-05-30 20:36 Naix_x 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题目链接练习DFS,以前知道思路,枚举每个点翻或者不翻,可是不知道如何去表达。虎哥给提示了下,自己编出来很费劲啊。。。而且,判断边界的时候WA了好几次啊。。而且居然,跑的异常的慢。。。#include <stdio.h>#include <stdlib.h>#include <string.h>char p[5][5];int min;int judge()//判断函数{ int i,j,sum = 0; for(i = 0;i <= 3;i ++) for(j = 0;j <= 3;j ++) { if(p[i][j]=='b' 阅读全文
posted @ 2012-05-30 16:55 Naix_x 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目链接这个题应该有别的方法吧,DFS参考解题报告,开始的时候不太明白如何在搜过之后如何把状态回溯,看了解题报告后,看到后恍然大悟啊。。。只要加上一个语句就完成了。这个程序好慢啊,250ms,最近学习搜索,争取今天做出独立做出一个的DFS。 1 #include <stdio.h> 2 #include <string.h> 3 int p[21],o[21],k[40]; 4 int n; 5 void dfs(int num,int step) 6 { 7 int i; 8 p[step] = num ; 9 o[num] = 1;10 if(step ==... 阅读全文
posted @ 2012-05-30 14:52 Naix_x 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题目链接难得的1A。想的时间有点长啊,精力集中不起来。思路:本来是开始把 a1 a2 a3... an 全部用题目中的表达式给表示出来,想着肯定会全部消去吧,结果。。。还剩下个an,然后,没啥想法了。。想想,试试规律吧。把n = 2 3 4 时候全部写出来了发现有规律啊。an 可以用a1和a0表示出来。。把an套到前一个推出来的公式去,然后,实现这个规律,又浪费一些时间。。。还好1A。 1 #include <stdio.h> 2 double c[5000]; 3 int main() 4 { 5 int i,j,t,m; 6 double a0,an,sum1,sum2,a.. 阅读全文
posted @ 2012-05-29 20:15 Naix_x 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2107裸DFS。 1 #include <stdio.h> 2 #include <string.h> 3 int p[101][101],o[101],num[101],z; 4 void dfs(int k,int v) 5 { 6 int i; 7 o[v] = 1; 8 num[z] = v; 9 z ++;10 for(i = 0;i <= k-1;i ++)11 {12 ... 阅读全文
posted @ 2012-05-29 15:51 Naix_x 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2139 裸BFS。 1 #include <stdio.h> 2 #include <string.h> 3 int p[1001][1001],o[1001],k[1001]; 4 int bfs(int n) 5 { 6 int i,j,start,end,a,num = 1; 7 start = end = 0; 8 while(start <= end) 9 {10 a = 1;11 ... 阅读全文
posted @ 2012-05-29 15:18 Naix_x 阅读(213) 评论(0) 推荐(0) 编辑