[0715]Jsoi Test elevator
elevator
時間限制:1秒? 內存限制: 64 MB
試題描述
??? 夏令營報到結束了,回到宿舍干什么呢?根據教練員的安排,大家只能討論一些往年JSOI夏令營的老題目。于是,N次參加夏令營的小X同學立刻就提出了那個老的掉牙的經典題目"奇怪的電梯",但是,為了表示自己的水平高,他故意修改了一下題目,看看大家的水平如何。據說,這個題目做對了,就有50%的可能進A層次了:)
??? 假設一棟高樓大廈有非常多的樓層,讓每個樓中的電梯都能到達所有樓層將是一個極為不明智的設計。因此,設計師給出了一個特別的設計--大廈一共有m個電梯,每個電梯只有兩個按鈕,(針對第i個電梯)兩個按鈕分別可以使電梯向上ui層或向下di層。大廈很高,保證你永遠到不了頂層,也就是說電梯沒有上限,但是,電梯不可以鉆入地下,也就是說是有下限的。我們將每層樓用整數標記,為了體現IT公司的特質,我們以0作為地面這一層的標記。
??? 假設你現在在大廈的0層,僅可以選擇m個電梯中的一個乘坐(不可以中途換電梯),請你計算,你按電梯中的按鈕n次后(每次兩個按鈕選一個按),可以到達的最低樓層數。
輸入要求
??? 輸入的第一行包括一個整數t(t ≤ 50),表示有t組測試數據。
??? 對于每組測試數據,第一行包括兩個整數n和m(1 ≤ n ≤ 1000000,1 ≤ m ≤ 2000),表示按電梯按鈕的次數和大廈中的電梯數量。
??? 接下去的m行,每行包括2個由一個空格分隔的數字,分別表示了提供的m個電梯中的某一個的上行按鈕上升一次的層數ui和下行按鈕下降一次的層數di(1 ≤ ui,di ≤ 1000)。
輸出要求
??? 對于每組測試數據,輸出一個正整數,表示選用m個電梯中的一個后,在電梯里按電梯中的按鈕n次后(每次兩個按鈕選一個按),可以到達的最低樓層數。
輸入樣例
1
10 3
15 4
15 12
7 12
輸出樣例
13
知識點及提示
??? 按鈕上的移動樓層數無法改變,比方說從8層向下9層是不可行的。
?我當時沒做0。0不想進A
var u,d,n,m,t,i,min,j:longint;
begin
? readln(t);
? for i:=1 to t? do
? begin
??? readln(n,m);
??? readln(u,d);
??? min:=n*u mod (u+d);
??? for j:=2 to m do
??? begin
????? readln(u,d);
????? if min>n*u mod (u+d)
??? then min:=n*u mod (u+d);
?? end;
?? writeln(min);
? end;
end.
轉載于:https://www.cnblogs.com/shy-/archive/2012/07/16/2593252.html
總結
以上是生活随笔為你收集整理的[0715]Jsoi Test elevator的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CrtInvertedIdx
- 下一篇: 封装getByClass(JS获取cla