2010年4月15日 星期四

Problem 11689 Soda Surpler,Tim 撿空瓶

Tim 是一個愛喝蘇打酒的人,但他身上沒有太多的錢讓他買他愛喝的蘇打酒,每天靠著撿空的蘇打酒瓶去換取新的蘇打酒,以解他愛喝蘇打酒的癢。

輸入 e、f、r 三整數,e 代表 Tim 目前手上有幾瓶空瓶,f 代表 Tim 一天能發現多少空酒瓶,r 則是能以 r 瓶空酒瓶換取 1 瓶新的滿滿的蘇打酒。

此題跟 Problem 11150 非常相似,只是此題稍稍難了一咪咪,甚至一咪咪的一咪咪。首先只需將 e 值與 f 值相加才能算是他一天拿到空瓶的總和,接著再用 11150 的觀念,讓 e 降到 c 以下。C 語言程式碼下:
while (n --)
{
int total = 0, record;
scanf("%d %d %d", &e, &f, &c);
e += f;
for (; e > c;)
{
total += e / c;
record = e / c;
e = (e % c + record);
}
if (e == c) total ++;
printf("%d\n", total);
}

By David.K

p11689題目連結
回ACM題庫目錄
回首頁

沒有留言: