摘要: http://poj.org/problem?id=1416题意:将一个数分成几部分,使其分割的各个数的和最大并且小于所给的数。凌乱了。。参考的会神的代码。。orz... 1 #include 2 #include 3 4 int arr[102],ans[102]; 5 int max,len,f; 6 int a,b; 7 8 void dfs(int n,int now,int sum,int k,int t) 9 {10 int m = n % 10;11 if (!n)12 {13 arr[k] = now;14 if ... 阅读全文
posted @ 2013-08-30 21:53 N_ll 阅读(207) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=2676填九宫格思路:将每一行,每一列及每一个3*3块中出现的数字标记上,将可填的空的位置记录下来,枚举1-9,填入合适的数。 1 #include 2 #include 3 int row[10][10],col[10][10],arr[10][10];//row[x][i]表示i所在的行为x; 4 //col[y][i]表示i所在的列为y; 5 //arr[n][i]表示i所在... 阅读全文
posted @ 2013-08-30 17:26 N_ll 阅读(180) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=2531不太理解这个代码。。。 1 #include 2 #include 3 int map[32][32],v[32]; 4 int n,max; 5 void dfs(int row,int sum) 6 { 7 8 int ans = sum; 9 v[row] = 1;10 for (int i = 1; i max)18 max = ans;19 for (int i = row+1; i sum)22 {23 dfs(i,ans);... 阅读全文
posted @ 2013-08-30 11:39 N_ll 阅读(208) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=1321思路:按行搜索,回溯时还原棋盘。 1 #include 2 #include 3 int map[9][9],vis[9]; 4 int ans,n,k; 5 void dfs(int row,int cnt) 6 { 7 8 if (k==cnt) 9 {10 ans++;11 return ;12 }13 if (row > n)14 return ;15 for (int i = 1; i <= n; i ++)16 {17 ... 阅读全文
posted @ 2013-08-30 10:29 N_ll 阅读(146) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=3009题意:一个小球要从2走到3,1代表障碍物,0代表可走。要求如果小球没遇到障碍物1,则小球按原来的方向一直走,直到遇到障碍物,障碍物变成0,小球任选一个方向继续走,此时步数加1,问从2走到3最少需要几步。 1 #include 2 #include 3 int map[32][32]; 4 int s_x,s_y,e_x,e_y,min; 5 int dir[4][2] = {{0,1},{1,0},{0,-1},{-1,0}}; 6 void dfs(int x,int y,int step,int d) 7 { 8 if... 阅读全文
posted @ 2013-08-30 09:21 N_ll 阅读(220) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=2488题意:给定一个row*col 的棋盘,列上用字母A,B,C······ 表示,行上用数字1,2,3······表示,问马是否能走遍整个棋盘,并将走的路径按字典序顺序输出。思路:只要按照dir[8][2] = {{-2,-1},{-2,1},{-1,-2},{-1,2},{1,-2},{1,2},{2,-1},{2,1}};这个方向搜索,得出的路径即按字典序输出的。 1 #include 2 #include 3 ch 阅读全文
posted @ 2013-08-30 00:10 N_ll 阅读(157) 评论(0) 推荐(0)