題目的大致意思是說,給定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 探險隊長凱因意外的弄到了乙份黑暗森林的藏寶圖,於是,探險隊一行人便踏上了尋寶之旅,去尋找傳說中的寶藏。藏寶點分布在黑暗森林的各處,每個點有乙個值,表示藏寶的價值。它們之間由一些小路相連,小路不會形成環,即兩個藏寶點之間有且僅...