ybt高效高階1 5 1 走迷宮

2021-10-13 15:25:13 字數 875 閱讀 4743

在乙個 n×n 的地圖中,一些地方可以走一些不可以走。

問你從乙個地方走到另乙個地方的最小步數。

就是直接 bfs 搞過去。

跑圖,跑到要的點就輸出退出。

#include

#include

using

namespace std;

int n, a[

1001][

1001

], sx, sy, tx, ty, ans, now, nowdis, nowx, nowy;

int dx[4]

=, dy[4]

=;queue int,

int>

> q;

bool in[

1001][

1001];

char c;

intget_num

(int x,

int y)

boolch(

int x,

int y)

void

bfs(

) q.

push

(make_pair

(get_num

(nowx + dx[i]

, nowy + dy[i]

), nowdis +1)

);}}

}int

main()

}scanf

("%d %d %d %d"

,&sx,

&sy,

&tx,

&ty)

;bfs()

;printf

("%d"

, ans)

;return0;

}

ybt高效高階2 4 1 字首統計

有一堆字串,然後每次有乙個詢問,問乙個有多少個字串是乙個給出的字串的字首。這道題可以看出用 trie 樹 甚至有點模板 就建樹就普通的建。至於詢問,其實我們可以按著長度推 trie 數的位置,每次長度都是乙個字首。然後答案加上就可以。當然,我們在詢問的時候已經不用再重新建樹,遇到沒有這個分支的就可以...

ybt高效高階3 2 2 新的開始

有乙個圖,要你讓所有點所在的連通塊都至少有乙個標記點。兩個點相連有乙個規定的費用,把乙個點標記也有費用。要費用最小,輸出最小費用。這道題看到判斷連通,我們就想到並查集。然後最小,就想到最小生成樹。但是它不一定只選乙個點標記,而且如果標記了不止乙個點,整個圖就可以不是整個連通的。那怎麼辦呢?那我們想想...

ybt高效高階3 4 4 恆星的亮度

有一些恆星,每個恆星有亮度。給出一些恆星亮度的相對關係,詢問這些恆星亮度總和至少有多大。恆星最暗的亮度是 1 數值越大越亮。關係有兩個亮度相等,乙個比另乙個亮或暗,乙個不比另乙個亮或暗。首先,有乙個小坑,就是不大於其實是小於等於,不小於是大於等於,不要搞反了。那我們會想到如果 a 亮度小於 b 那 ...