有乙個n m的格仔,求起點到終點的最小字典序

2021-07-05 05:18:14 字數 2084 閱讀 6851

zyh相信自己想要的幸福在不遠處。然而,zyh想要得到這幸福,還需要很長的一段路。zyh堅持認為整個人生可以抽象為乙個n*m的棋盤。左上角的格仔為(1,1),右下角的格仔為(n,m)。整個棋盤上的格仔都有不同的事件,因為生活的多姿多彩,事件的權值aij都兩兩不同。不幸的是,在整個人生中有若干個極其黑暗的事件,它們的權值aij=0。更進一步說,對於aij>0的事件,權值兩兩不同。

zyh站在人生的起點(1,1),他想要走向人生的巔峰(n,m)。zyh認為人只能前進,即若zyh站在(a,b),他只能走向(a,b+1)或者(a+1,b)。並且zyh認為黑暗的事件是絕對不可以觸碰的,因為一旦經歷就會墜入萬丈深淵。zyh會將自己所經歷的事件的權值依次寫出,形成乙個n+m-1的序列。zyh想知道其中字典序最小的序列是什麼。若是人生過於艱難,沒有乙個合法序列,就輸出」oh,the life is too difficult!」,不包含引號。

輸入的第一行是組數t。

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

輸入只有一列,如果存在合法序列,則為n+m-1個用乙個空格隔開的權值。否則就輸出oh,the life is too difficult!

2

3 31 3 4

7 9 0

5 6 8

2 31 0 3

0 4 5

1 3 9 6 8

oh,the life is too difficult!

對於20%的資料 n<10 m<10

對於60%的資料 n<=300 m<=300

對於100%的資料 n<=1000 m<=1000 aij<=1e9

t<=10

本題可以先進行預處理,判斷哪些點能走到終點,

所以只需要找兩邊(下和右)哪個較小,便走哪個

#include #include #include #include #include #include #include #include #include #include using namespace std;

#define inf 0x3f3f3f3f

#define inf -0x3f3f3f3f

#define lson l,m,rt<<1

#define rson m+1,r,rt<<1|1

#define mem0(a) memset(a,0,sizeof(a))

#define mem1(a) memset(a,-1,sizeof(a))

#define mem(a, b) memset(a, b, sizeof(a))

typedef long long ll;

int mp[1010][1010];

int vis_front[1010][1010];

int vis[1010][1010];

const int buf=40000010;

char buf[buf],*buf=buf;

inline void read(int&a)

int main()

for(int i=1;i<=n;i++) //從前走到後

for(int j=1;j<=m;j++)

else if(i==1)

else if(j==1)

else

}if(vis_front[n][m]==0)

mem0(vis);

for(int i=n;i>=1;i--)

for(int j=m;j>=1;j--)

if(vis_front[i][j]==1&&vis[i][j]==1)

}printf("%d",mp[1][1]);

for(int i=1;iif(x+1<=n&&y+1<=m)

else

}else if(vis[x][y+1]==1)

else if(vis[x+1][y]==1)

}else if(x+1<=n&&vis[x+1][y]==1)

else if(y+1<=n&&vis[x][y+1]==1)

}printf("\n");

}return 0;

}

BFS搜尋迷宮,求起點到終點的最小步數

給m n的矩陣,其中 表示可以行走,表示牆壁無法通過,s表示起點,t為終點。輸入m,n,以及符號矩陣,計算s到t的最短步數。示例輸入,5 5.s t 2 2 4 3 輸出 11 以下為 const int mazemaxsize 100 迷宮大小 struct mazemz 迷宮座標點 char m...

2020 03 02 起點到終點的過程一樣重要

18 00 我們在路上不是像驛夫那樣追趕路程,而是像旅行家似的沿途觀賞。我們心中不只是想到乙個起點和終點,而且還想到起點和終點之間相隔的距離。對我們來說,旅行的本身就是一種樂趣。盧梭 我會有這樣一種現象 看到別人的優秀,哪怕不是自己專注的細分領域,會有一種不那麼自信的感覺,說真實一點,其實還是自卑。...

求從乙個矩形的乙個點到其對角點有多少種走法

題目描述 公司內部有許多新鮮的小玩具,例如 智慧型機械人。小時候,大家都玩過那個吃豆子的遊戲吧,這機械人就是按照這個遊戲設計的,它會朝著豆子的方向行走。不過機械人還存在乙個bug,他只會朝南和朝東走。現在有一塊空地,分成了n m個格仔,每個格仔內有一顆豆子。機械人的起點在西北角,終點在東南角。請問機...