濟南學習 Day 3 T2 pm

2022-02-11 19:40:11 字數 1460 閱讀 9683

lyk 快跑!(run)

time limit:5000ms memory limit:64mb

題目描述

lyk 陷進了乙個迷宮! 這個迷宮是網格圖形狀的。 lyk 一開始在(1,1)位置, 出口在(n,m)。

而且這個迷宮裡有很多怪獸,若第 a 行第 b 列有乙個怪獸,且此時 lyk 處於第 c 行 d 列,此

時這個怪獸對它的威脅程度為|a-c|+|b-d|。

lyk 想找到一條路徑,使得它能從(1,1)到達(n,m),且在途中對它威脅程度最小的怪獸的

威脅程度盡可能大。

當然若起點或者終點處有怪獸時,無論路徑長什麼樣,威脅程度最小的怪獸始終=0。

輸入格式(run.in)

第一行兩個數 n,m。

接下來 n 行,每行 m 個數,如果該數為 0,則表示該位置沒有怪獸,否則存在怪獸。

資料保證至少存在乙個怪獸。

輸入格式(run.out)

乙個數表示答案。

輸入樣例

3 40 1 1 0

0 0 0 0

1 1 1 0

輸出樣例

1資料範圍

對於 20%的資料 n=1。

對於 40%的資料 n<=2。

對於 60%的資料 n,m<=10。

對於 80%的資料 n,m<=100。

對於 90%的資料 n,m<=1000。

對於另外 10%的資料 n,m<=1000 且怪獸數量<=100。

1 #include2 #include3 #include4 #include5

#define n 1010

6using

namespace

std;

7int a[n][n],b[n][n],n,m,num,qx[n*n],qy[n*n],vis[n][n];

8int ax[4]=;

9int ay[4]=;

10bool check(int

limit)

1128

}29 }//

寬搜檢查是否從起點到終點能行得通

30return

false;31

}32void

bfs()

3346}47

}48}49

intmain()

5060}61

if(a[1][1]||a[n][m])//

特判 62

66bfs();

67int l=0,r=n*n,ans=0;68

while(l<=r)

6976

else r=mid-1;77

}78 printf("%d"

,ans);

79return0;

80 }

思路:見↑↑↑↑↑↑↑↑

最小值中求最大,最大值中求最小,非常符合二分答案的特點(標誌)

濟南學習 Day 2 T3 pm

它 問題描述 n個人坐成一圈,其中第k個人拿著乙個球。每次每個人會以一定的概率向 左邊的人和右邊的人傳球。當所有人都拿到過球之後,最後乙個拿到球的人即為 勝者。求第n個人獲勝的概率。所有人按照編號逆時針坐成一圈 輸入格式 第一行乙個數t代表資料組數。對於每組資料,第一行兩個整數n,k如題意所述。接下...

濟南學習 Day 3 T3 pm

仙人掌 cactus time limit 1000ms memory limit 64mb 題目描述 lyk 在衝刺清華集訓 thusc 於是它開始研究仙人掌 它想來和你一起分享它最近 研究的結果。如果在乙個無向連通圖中任意一條邊至多屬於乙個簡單環 簡單環的定義為每個點至多 經過一次 且不存在自環...

濟南學習 Day 2 T2 pm

她 問題描述 給你l,r,s,m,求滿足l s x mod m r最小的正整數 x。輸入格式 第一行乙個數t代表資料組數。接下來一行每行四個數代表該組資料的l,r,s,m。輸出格式 對於每組資料,輸出一行代表答案。如果不存在解,輸出 1 樣例輸入 15 4 2 3 樣例輸出 2 樣例解釋 叫南小鳥。...