豬的安家

[quote]
Jacky和Mary養了很多豬。他們想要給豬安家。但是Jacky沒有足夠的豬圈,很多豬隻能夠在一個豬圈安家。舉個例子,假如有16頭豬,Jacky建了3個豬圈,爲了保證公平,剩下1頭豬就沒有地方安家了。Mary生氣了,罵Jacky沒有腦子,並讓他重新建立豬圈。這回Jacky建造了5個豬圈,但是仍然有1頭豬沒有地方去,然後Jacky又建造了7個豬圈,但是還有2頭沒有地方去。Jacky都快瘋了。你對這個事情感興趣起來,你想通過Jacky建造豬圈的過程,知道Jacky家至少養了多少頭豬。

輸入

輸入包含多組測試數據。每組數據第一行包含一個整數n (n <= 10) – Jacky建立豬圈的次數,解下來n行,每行兩個整數ai, bi( bi <= ai <= 1000), 表示Jacky建立了ai個豬圈,有bi頭豬沒有去處。你可以假定(ai, aj) = 1.

輸出

輸出包含一個正整數,即爲Jacky家至少養豬的數目。

樣例輸入

3
3 1
5 1
7 2

樣例輸出

16
[/quote]


data = Array.[]([3,1],[5,1],[7,6])
max = 0
maxLeft = 0
maxIndex = 0
index = 0

data.each{|item|
(max = item[0];maxLeft=item[1];maxIndex=index)if item[0]>max
index += 1
}

ok = false
n = 1
total = 0
MAX_COUNT = 1000

while !ok&&n<=MAX_COUNT
total = max*n+maxLeft
index = 0
allPass = true
data.each{|item|
next if index==maxIndex
if total%item[0]!=item[1]
allPass = false
break
end
}
ok= true if allPass
p "===>"+n.to_s
n += 1
end

p "Total:"+total.to_s
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章