
ACM
iwifigame
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ZOJ 1057 Undercut
<br />//ZOJ 1057 Undercut 2010.08.06 #include <stdio.h> int main() { int n = 0; int cardA[20] = {0}; int cardB[20] = {0}; int scoreA = 0; int scoreB = 0; int i = 0; while(scanf("%d",&n) && n != 0) { if(原创 2010-08-06 16:36:00 · 416 阅读 · 0 评论 -
ZOJ 1002 Fire Net
/* 这是一个测试程序。采用dfs产生所有4维下的测试用例。比较自己的算法和网上正解的算法。看自己的算法为什么错了 */ #include #include #include using namespace std; int countFires(int n,char city[][5]); int max(char city[][5],int n); bool canput(char map[5][5], int y, int x){ //判断能不能放塔 if原创 2010-08-11 15:14:00 · 373 阅读 · 0 评论 -
ZOJ 1002 Fire Net
/* 来自网络。很精典。dfs的精典利用。什么时候我也能想出这样的算法呀,努力!!!!! */ #include bool canput(char map[5][5], int y, int x){ //判断能不能放塔 if(map[y][x] != '.')return 0; //以经放塔或者为墙。不能放塔 int i; for(i = y - 1; i >= 0; i--){ if(map[i][x] == 'X')break; //有一堵墙原创 2010-08-11 15:16:00 · 482 阅读 · 0 评论 -
ZOJ 1003 Crashing Balloon
<br />/*ZOJ 1003 Crashing Balloon 来自网络。自己的只是变量名和这不同,总提示超时,郁闷。。。。 */ #include <stdio.h> int flag1 , flag2; void dfs ( int n , int m , int fac ) { if ( flag1== 1 ) return ; if ( m==1 && n==1 ) { flag1 =原创 2010-08-14 17:59:00 · 519 阅读 · 0 评论 -
ZOJ 1004 Anagrams by Stack
<br />/*ZOJ 1004 Anagrams by Stack 2010.8.14 首先是每出入栈一次,就把它输出到界面上。 这样造成了很多错误且不必要的输出。但正确的输出也在其中。 后参照网上的例子。采用到尾后一次性输出(此时必然正确),解决 了这个这问题。 此算法完全由自己想出。后和网上的例子比较。觉得 char tmp[2 * MAX]; memcpy(tmp,stack,strlen(stack)); 浪费了空间。没有网上的精简。但总体上思想是正原创 2010-08-14 17:55:00 · 1005 阅读 · 0 评论 -
ZOJ 1008 Gnome Tetravex
#include using namespace std; int v[25][4]; int n; int s[25][4]; int snum[25]; int c=0; int p[5][5][4] = {0}; int solve(int num) //从左到右,从上到下的放入箱子,num标示放入目标位置的第几个箱子 { if(num == n*n) return 1; //这里剪枝了。剪去了相同箱子的重复处理 for(int i原创 2011-04-15 12:55:00 · 686 阅读 · 0 评论