NOIP模擬題 我要的幸福

2022-07-30 05:45:10 字數 1049 閱讀 6136

輸入的第一行是兩個正整數n和m。接著是n行m列的人生棋盤。

n<=1000 m<=1000 aij<=1e9

輸入只有一列,如果存在合法序列,則為n+m-1個用乙個空格隔開的權值。

否則就輸出oh,the life is too difficult!

3 3

1 3 4

7 9 0

5 6 8

1 3 9 6 8

一拿到這道題,果斷貪心,可是萬一搜到的路上有0怎麼辦呢?所以,我們先從終點向回搜,判斷道路是否能走,並且沒走到終點,就輸出oh,the life is too difficult!

然後再從起點開始搜,每次去取的輸出就行了。

1 #include2

using

namespace

std;

3int

n,m;

4int mp[1001][1001

]; 5

bool flag[1001][1001];6

int dir[4][2]=;

7struct

node;

11 inline int

read()

1218

intmain()

1927

}28 flag[n][m]=true;//

終點能到達

29for(int i=n;i;i--)

30for(int j=m;j;j--)

3137

if(i==n&&j==m)continue

;38 flag[i][j]=flag[i+1][j]|flag[i][j+1];//

如果有一條路能走,就能到達 39}

40if(!flag[1][1])//

沒有路徑

4145

int x=1,y=1;//

起點開始搜

46while(x!=n||y!=m)

4754 cout輸出終點的

55 }

題解 NOIP模擬題 我要的幸福 C

思路先從 n,m 出發搜一遍,如果最後 1,1 沒有被標記,那麼這組資料是無解的。如果有解,搜完一遍之後利用標記,用貪心輸出。其他的就很簡單了。1 include2 using namespace std 3int a 1010 1010 n,m 4bool vis 1010 1010 5 inli...

NOIP模擬題 連通

給定乙個無向圖,請編寫乙個程式實現以下兩種操作 1 d x y,從原圖中刪除連線x和y頂點的邊。2 q x y,詢問x和y頂點是否連通。這也是連通問題,考慮用並查集解決。但是這是刪除的問題耶,怎麼辦?考慮將刪除變為連通,能不能將所有操作給反過來,從最後乙個操作開始處理。當然是可以的。include ...

Noip模擬題 山峰

description在n m的棋盤上不重複的填1到n m 如果乙個數字比周圍的八個數字大,那麼他就是乙個山峰。現在告訴你所有山峰的位置,問你填數的方案數mod 12345678 input 輸入第一行兩個數字 n m意義如題目描述。接下來n 行,每行 m個字元,表示非山峰,x 表示山峰。1 n 4...