題目:定義乙個二維陣列:int maze[5][5] = ;
它表示乙個迷宮,其中的1表示牆壁,0表示可以走的路,只能橫著走或豎著走,不能斜著走,要求程式設計序找出從左上角到右下角的最短路線。
#include
#include
#include
using namespace std;
intm(5
),n(
5);int vis[20]
[20];
//標記陣列,去掉已經經過的地點
int f[4]
[2]=
,,,}
;//方向陣列,用在選擇方向時的座標處理
int a[20]
[20];
vector
int,
int>
> q, qq;
//和結構體有些類似,標頭檔案;第乙個q是佇列,第二個用來儲存最短路徑的佇列
intxb(0
),yb(
0),xe
(4),
ye(4)
;//起始座標與終點座標
intminn
(100);
bool judge
(int x1,
int y1)
//判斷下乙個方向的座標是否合法
void
dfs(
int x,
int y,
int ss)
//!!!這裡的ss是對每一條路徑長度記錄用的
return;}
for(
int i=
0; i<
4; i++)}
}int
main()
return0;
}
題目:馬在中國象棋以日字形規則移動。編寫一段程式,給定n*m大小的棋盤,以及馬的初始位置(x,y),要求不能重複經過棋盤上的同乙個點,計算馬可以有多少途徑遍歷棋盤上的所有點。
int f[8]
[2]=
,,,,
,,,}
;
void
dfs(
int a,
int b,
int ss)
//ss依舊記錄路徑長度(或者說座標點數量)
map[a]
[b]=0;
}return
;}
題目:環由n個圓組成,如圖所示。將自然數1,2,…,n分別放入每個圓中,兩個相鄰圓中的數字之和應為素數。;//直接prime把數字弄成01組,減少判斷函式的呼叫
bool isprime
(int x)
return true;
}void
dfs(
int x)
else}}
return;}
intmain()
return0;
}
題目:取相同長度的棍子若干並隨意切割,直到所有部分最多變成50個單位。現在想把棍子歸還原來的狀態,但是不知道原來有多少棍子和原來多長。計算這些棒可能的最小原始長度。#include
#include
#include
using namespace std;
int n;
int maxx, sum;
int temp;
int a[
100]
;int vis[
100]
;int
dfs(
int cnt,
int index,
int ss)
else
if(ss + a[i]
== temp)
//做成乙個temp就要重新組了
if(ss ==0)
//這一根都沒用上自然結束了
return0;
}return0;
}int
cmp(
int a,
int b)
intmain()
sort
(a , a + n , cmp)
;//之後,a[i]都是降序的了,從大的開始找也是為了減少時間
for(
int i = n; i >
0; i--
)//從n開始嘗試,因為n越大,單個小棒越小}}
}return0;
}
題目:迷宮是乙個大小為n×m的矩形。迷宮中有一扇門。在開始時,門被關閉,它將在第t秒開啟一小段時間(不到1秒)。因此,小狗必須在第t秒才到達門口。在每一秒中,他可以將乙個塊移動到上,下,左和右相鄰塊之一。一旦他進入乙個區塊,這個區塊的地面將開始下沉並在下一秒消失。他不能在乙個街區停留一秒以上,也不能進入乙個被訪問的街區。判斷小狗能否活下來?#include
#include
using namespace std;
int n, m;
int t;
int xe, ye, xd, yd;
bool flag = false;
char a[8]
[8];
int vis[8]
[8];
int nex[4]
[2]=
,,,}
;void
dfs(
int x,
int y,
int cnt)
for(
int i =
0; i <
4; i++)}
}return;}
intmain()
if(a[i]
[j]==
's')
} vis[xd]
[yd]=1
; flag = false;
dfs(xd, yd,0)
;if(flag)
else
cout <<
"no"
<< endl;
}}
ACM新手DAY 26 計算幾何
題目 給出多個區間和多個點,計算每個區間包括的點的數目 include include include using namespace std const int n 5000 10 int sum n struct point tmp struct line line n double judge...
ACM新手DAY 2 模擬和貪心
include include using namespace std int n,m cin n m for i 0 i for j 0 j 2 j 這裡加了字元 為了之後與命令的ip位址字串好匹配 for i 0 i for j 0 j 2 j cin ss i j string bl stri...
ACM新手DAY 6 最短路徑
題目 兩個點之間可能有多條路線,求出從起點到終點的最短耗時 include include using namespace std define maxn 999999 int n,m,g 110 110 dis 110 bool visit 110 int dijkstra int src,int...