P1746 離開中山路 AC於2018 9 16

2021-08-28 03:54:29 字數 1134 閱讀 4013

《愛與愁的故事第三彈·shopping》最終章。

愛與愁大神買完東西後,打算坐車離開中山路。現在愛與愁大神在x1,y1處,車站在x2,y2處。現在給出乙個n×n(n<=1000)的地圖,0表示馬路,1表示店鋪(不能從店鋪穿過),愛與愁大神只能垂直或水平著在馬路上行進。愛與愁大神為了節省時間,他要求最短到達目的地距離(a[i][j]距離為1)。你能幫他解決嗎?

輸入格式:

第1行:乙個數 n

第2行~第n+1行:整個地圖描述(0表示馬路,1表示店鋪,注意兩個數之間沒有空格)

第n+2行:四個數 x1,y1,x2,y2

輸出格式:

只有1行:最短到達目的地距離

輸入樣例#1:

3

001101

1001 1 3 3

輸出樣例#1:

4
20%資料:n<=100

100%資料:n<=1000

#include#include#include#include#includeusing namespace std;

int n,outx,outy,inx,s,iny,x,y;

int tox[5]=;

int toy[5]=;

int a[1001][1001],b[1001][1001],d[1000001][4];

char c[1001][1001];

int main()

scanf("%d%d",&inx,&iny);

scanf("%d%d",&outx,&outy);

b[inx][iny]=1;

d[1][1]=inx;

d[1][2]=iny;

d[1][3]=0;

while(tn||y<1||y>n)

continue;

if(!a[x][y]&&!b[x][y])

if(x==outx&&y==outy)

}} for(int i=1;i<=n;i++)

return 0;

}

離開中山路(bfs)

題目背景 愛與愁的故事第三彈 shopping 最終章。題目描述 愛與愁大神買完東西後,打算坐車離開中山路。現在愛與愁大神在x1,y1處,車站在x2,y2處。現在給出乙個n n n 1000 的地圖,0表示馬路,1表示店鋪 不能從店鋪穿過 愛與愁大神只能垂直或水平著在馬路上行進。愛與愁大神為了節省時...

P4819 中山市選 Tarjan SCC

題意 傳送門 p4819 中山市選 殺人遊戲 題解若 x xx 認識 y yy,則從 x xx 向 y yy 連一條有向邊,得到一張有向圖。觀察發現,若存在環,那麼任取環上一點即可,則有 1 n 1 n1 n 的概率是殺手 否則,可獲取下乙個節點的身份,直到環上最後乙個節點或發現殺手。那麼使用 ta...

P4819 中山市選 殺人遊戲

這題想必大家很容易想到圖論建模。每個人都是乙個結點,與他認識的人連一條邊,每過乙個點我們就能這樣擴充套件下去。我們需要使 殺的概率小,簡單貪心 盡量去找認識人多的人詢問,即找到聯通較多邊的那個結點詢問。我們可以求出途中所有的強連通分量,用tarjan演算法縮點,然後找出所有入讀為0的點。但這題有乙個...