1320 拯救奶牛

2021-09-11 18:38:26 字數 1445 閱讀 6541

1320. 拯救奶牛

貝希被困在乙個三角形的迷宮之中。這個迷宮有n行(1 <= n <= 1000000)。比如下圖是乙個3行的迷宮。

迷宮的第i行有2*i-1個三角形,從左到右分別編號為(i,1)、(i,2)等等。貝希每次可以從乙個三角形走到任意乙個乙個跟當前的三角形有鄰邊的三角形。比如說,如果她目前處於三角形(3,3),那麼,她可以走到三角形(3,2)、(3,4)和(4,4)。貝希每次需要一分鐘的時間來移動到下乙個三角形。

農夫約翰發現貝希被困了!於是她跟蹤貝希的iphone手機(可憐的觸控螢幕~),得知貝希目前處於三角形(si,sj)。因為約翰對貝希有著無窮無盡的濃濃愛意,所以他希望貝希能盡可能快地回到他的身邊。

在迷宮的三角形之中,有m(1 <= m <= 10000)個是出口。在任何乙個出口都可以讓貝希逃離迷宮。一旦貝希進入乙個作為出口的三角形,她用多一分鐘就可以逃離這個迷宮。

找到乙個可以讓貝希逃離迷宮最小時間t,並輸出她應該從哪乙個出口逃離迷宮,這個出口記為(outi,outj)。如果有多個出口同時需要時間t,輸出那個行的編號小的出口,如果仍然有多個出口,輸出那個列的編號小的。

input

第一行:兩個由空格隔開的整數:n和m。

第二行:兩個由空格隔開的整數:si和sj。

第三到第m+2行:第i+2行有兩個由空格隔開的整數ei和ej,表示三角形(ei,ej)是出口。

output

第一行:兩個由空格隔開的整數:outi和outj。

第二行:乙個單獨的整數:t。

sample input

4 22 1

3 54 4 

sample output

4 44

#include#includeusing namespace std;

const int maxn=1e4+10;

int n,m,s,t;

bool k=0;//模擬

struct nodea[maxn];

inline int read()

while(isdigit(ch))

return w?-x:x;

}bool cmp(node a,node b)

}return;

} }else

}return;

} }}int main()

sort(a+1,a+m+1,cmp);

printf("%d %d\n",a[1].x,a[1].y);

printf("%d",a[1].w);

return 0;

}

JZOJ A組 拯救奶牛

貝希被困在乙個三角形的迷宮之中。這個迷宮有n行 1 n 1000000 比如下圖是乙個3行的迷宮。迷宮的第i行有2 i 1個三角形,從左到右分別編號為 i,1 i,2 等等。貝希每次可以從乙個三角形走到任意乙個乙個跟當前的三角形有鄰邊的三角形。比如說,如果她目前處於三角形 3,3 那麼,她可以走到三...

P1320 壓縮技術

注意學習字串c 庫函式 char strcat char dest,const char src 把 src 所指向的字串追加到 dest 所指向的字串的結尾 strcpy s1,s2 strcpy函式的意思是把字串s2拷貝到s1中,連同字串結束標誌也一同拷貝。如果s2 china 那麼s1中存放的...

Noip 1320 均分紙牌(貪心)

時間限制 1000 ms 記憶體限制 65536 kb 提交數 1099 通過數 570 有n堆紙牌,編號分別為 1,2,n。每堆上有若干張,但紙牌總數必為n的倍數。可以在任一堆上取若干張紙牌,然後移動。移牌規則為 在編號為1的堆上取的紙牌,只能移到編號為 2 的堆上 在編號為 n 的堆上取的紙牌,...