AtCoder 1350 深 優先探索(DFS)

2021-10-07 22:22:48 字數 1252 閱讀 4798

由於本題的**在 atcoder 上,是日文,而在洛谷上也直接給出了題目翻譯和大意,如下:???

高橋先生住的小區是長方形的,被劃分成乙個個格仔。高橋先生想從家裡去魚店,高橋先生每次可以走到他前後左右四個格仔中的其中乙個,但不能斜著走,也不能走出小區。

現在給出地圖:

s:代表高橋先生的家

g:代表魚店

.:代表道路

#:代表牆壁

高橋先生不能穿過牆壁。

輸入:第一行輸入n(1<=n<=500),m(1<=m<=500)代表小區的長和寬,接下來n行每行m個字元,描述小區中的每個格仔。

輸出:如果高橋先生能到達魚店,輸出"yes",否則輸出"no"。

4 5

s####

#...g 

no 

4 4

...s

.g.. 

yes 

10 10

s.........

g.#.#.#.#.

no 

10 10

s.........

g.#.#.#.#.

yes 

1 10

s..####..g

no 

#includeusing namespace std;

const int n=501;

char s[n][n];//存入地圖的陣列

int vis[n][n];//標記陣列

int n,m,sx,sy,ex,ey,flag;

int dx=;//這兩個是方向陣列

int dy=;

bool judge(int x,int y) {//越界判斷的函式

if(x>=0&&x=0&&y

AtCoder 2565(思維 暴力)

將乙個h w的矩形切成三份,每一次只能水平或者垂直切,問最大塊的面積 最小快的面積 的最小值是多少。先列舉水平切第一塊的高i,那麼剩餘部分h i要麼繼續水平切 要麼垂直切,因為要使最大快 最小快 最小,那麼剩下的兩塊肯定是相差最少為好,所以可以拆成w 2和w w 2兩塊,也可以拆成 h i 2和 h...

AtCoder 096 D 題解報告

已知乙個圓形櫃檯周長為c 你在x 0的位置,圓形櫃檯上存在n個點,每個點x i 上有能量為v i 的食物,並且你每走一步消耗1點能量 這裡自身能量可以為負 求你在這環形道路上走時,某一時刻自身擁有的最大能量是多少。因為是乙個環,我們可以正向走也可以反向走,同時還可以先正向走到某個點 i 再回到x 0...

Atcoder 151D BFS最短路問題

bfs最短路問題 題意 求任意兩個可互相到達的點的最短路的最大值。思路 幾乎是板子題,小範圍資料直接暴力,碰到點就進行bfs,bfs停止的條件就是走不動了,也就是當前點 i,j 能走到的最遠距離且是到達最遠處的最短路徑。不斷維護到這個最遠處的最短路徑最大值即可。ac include using na...