hihocoder1138漲姿勢的最短路

2021-07-26 01:18:23 字數 785 閱讀 9972

題目的大致意思是說,給定n個點的座標,讓我們求起點到終點的最短距離.

點點之間的距離是min(abs(x1-x2),abs(y1-y2))

一開始根本不會寫.直到看到了博主:的**

思路大體是,從點1到點n的最短路必然經過這個點的前驅和後繼.相對的,有x方向的前驅後繼,y方向的前驅後繼

因此需要按照x,y排序,之後對每個點的對應的前驅後繼連邊,權重就參照距離演算法.

然後最多有4n條邊,再用spfa求解.

**如下

#includeusing namespace std;

#define inf 0x3f3f3f3f3f

struct node

;vectorv;

queueq;

int n,m,x;

bool cmp(node a,node b)

if(temp>=need)

lastst = v[i].st;

lastlen=v[i].len;

}//按時間順序刪除

int deleteid = q.front();

q.pop();

vector::iterator iter;

for(iter=v.begin(); iter!=v.end(); iter++) //再從第乙個開始替換

return -1;

}int main()

v.push_back(add);

sort(v.begin(),v.end(),cmp);

// for(int j=0;j

題目1138 進製轉換

題目描述 將乙個長度最多為30位數字的十進位製非負整數轉換為二進位制數輸出。輸入 多組資料,每行為乙個長度不超過30位的十進位製非負整數。注意是10進製數字的個數可能有30個,而非30bits的整數 輸出 每行輸出對應的二進位制數。樣例輸入 013 8 樣例輸出 0111 1000 include ...

1138 破解簡單密碼

1138 破解簡單密碼 description 密碼是我們生活中非常重要的東西,我們的那麼一點不能說的秘密就全靠它了。哇哈哈。接下來原子要在密碼上再加一套密碼,雖然簡單但也安全。假設老王原來乙個bbs上的密碼為zvbo941987,為了方便記憶,他通過一種演算法把這個密碼變換成yuanzi1987,...

Sicily 1138 尋寶之旅

time limit 10 secs,memory limit 32 mb 探險隊長凱因意外的弄到了乙份黑暗森林的藏寶圖,於是,探險隊一行人便踏上了尋寶之旅,去尋找傳說中的寶藏。藏寶點分布在黑暗森林的各處,每個點有乙個值,表示藏寶的價值。它們之間由一些小路相連,小路不會形成環,即兩個藏寶點之間有且僅...