poj2245
這個一看就是dfs,必須的,今天也要把dfs在總結一下,因為已經有3個月沒看了,都忘了,之前寫了個迷宮,現在可好,竟然給忘了,哎,沒辦法,然后今天再去看完全不懂了,然后逼我今天再做一下總結,沒辦法,dfs最重要的是遞歸,怎么遞歸,就是遞歸嗎,從頭開始第一項,等,然后遞歸時,不斷加1,就行了,而輸出的部分呢,也是,把每一項都給輸出,還有關于每次都要遞歸,不是從頭開始,而是一個一個遞歸,還有一個最重要的是,全局變量,和局部變量,今天就是這個i值,就是這次給的是全局變量,發現怎么都不是遞歸,一開始沒找到原因,后來才發現,才知道,每次,如果是全局變量,那么每次都不能產生一個新i值僅僅只有一個i,從而不能產生遞歸,而重新用方法,可以產生新i每次都可以產生新的i值,因此達到遞歸的效果,附上代碼?1?#include?<stdio.h>?2?#include?<stdlib.h>
?3?int?a[15];
?4?int?n;
?5?int?vis[15];
?6?void?dfs(int?now,?int?p)
?7?{
?8?????int?i;
?9?????if(now?==?6)
10?????{
11?????????for(i?=?0;i?<?6;?i++)
12?????????{
13?????????????printf("%d",vis[i]);
14?????????????if(i?<?5)
15?????????????printf("?");
16?????????}
17?????????printf("\n");
18?????????return?;
19?????}
20?
21?????for(i?=?p;?i?<?n;?i++)
22?????????{
23?????????????vis[now]?=?a[i];
24?????????????dfs(now+1,i+1);
25?????????}
26?
27?
28?}
29?int?main()
30?{
31?????int?i;
32?????while(scanf("%d",?&n)!=EOF&&n!=0)
33?????{
34?????????for(i?=?0;i?<?n?;?i++)
35?????????????scanf("%d",&a[i]);
36?????????//for(i?=?0;?i?<?n?;?i++)
37???????????//??printf("%d",a[i]);
38?
39?
40?????????dfs(0,0);//output,?input
41?????????printf("\n");
42?
43?????}
44?????return?0;
45?}
?3?int?a[15];
?4?int?n;
?5?int?vis[15];
?6?void?dfs(int?now,?int?p)
?7?{
?8?????int?i;
?9?????if(now?==?6)
10?????{
11?????????for(i?=?0;i?<?6;?i++)
12?????????{
13?????????????printf("%d",vis[i]);
14?????????????if(i?<?5)
15?????????????printf("?");
16?????????}
17?????????printf("\n");
18?????????return?;
19?????}
20?
21?????for(i?=?p;?i?<?n;?i++)
22?????????{
23?????????????vis[now]?=?a[i];
24?????????????dfs(now+1,i+1);
25?????????}
26?
27?
28?}
29?int?main()
30?{
31?????int?i;
32?????while(scanf("%d",?&n)!=EOF&&n!=0)
33?????{
34?????????for(i?=?0;i?<?n?;?i++)
35?????????????scanf("%d",&a[i]);
36?????????//for(i?=?0;?i?<?n?;?i++)
37???????????//??printf("%d",a[i]);
38?
39?
40?????????dfs(0,0);//output,?input
41?????????printf("\n");
42?
43?????}
44?????return?0;
45?}
轉載于:https://www.cnblogs.com/yelcoved/archive/2013/02/10/2909834.html
總結
- 上一篇: DirectX 3D相关资源参考
- 下一篇: web app指南之构建html5离线应