pywbktda最近正在打怪獸,乙個斯拉夫神話中的兇猛怪獸,乙個有著多個頭的巨大龍狀爬行動物。第一行輸入是兩個整數n和x,分別表示打擊的種類和開始時候怪獸的頭的數量。開始的時候,怪獸有x個頭,你有n種打擊方式。如果你選擇第i種打擊方式,這個神奇的怪獸會減 少min(d i
,cur)個頭。這裡cur表示當前怪獸擁有的頭的數量。但是如果怪獸被打擊以後還至少留下 了乙個頭,那麼它就會再長出h i 個頭來。當cur
= 0或者小於0的時候,怪獸被打敗了。 注意,你可以使用任何一種打擊方式任何次數,以任何的順序。 例如,如果當前cur = 10,d = 7,h = 10,那麼一次打擊以後怪獸就會有13個頭了(因為減少了7個 頭以後,怪獸還剩下3個頭,再加上10個頭)。但是如果當前cur =
10,d = 11,h = 100,那麼怪獸就被打敗了。
接下來n行, 每行兩個整數描述了d i 和h i ,表示第i種打擊減少的頭的數量和會長出來的頭的數量。
輸出只有乙個整數,表示最少需要打擊的次數,如果怪獸無法被打敗,就輸出−1。
【輸入樣例1】3 10 6 3 8 2 1 4
【輸出樣例1】
2
【輸入樣例2】4 10
4 13 2
2 61 100
【輸出樣例2】
3
【輸入樣例3】對於50%的資料,1 ≤ n ≤ 10,1 ≤ x ≤ 100,1 ≤ d i ≤ 100,1 ≤ h i ≤ 100。2 15
10 11
14 100
【輸出樣例3】
-1
對於100%的資料,1 ≤ n ≤ 100,1 ≤ x ≤ 10 9 ,1 ≤ d i ≤ 10 9 ,1 ≤ h i ≤ 10 9 。
樣例1,你可以使用第一種打擊方式,第一次打擊以後剩下(10-6+3=7)個頭,再進行第2次打擊。
樣例2,你可以使用第一種打擊方式,攻擊3次。
樣例3,這裡你無法打敗怪獸。
這道題資料挺水的,直接暴力。
#include
#include
using
namespace std;
intmain()
while
(x)}
if(fff)
break
;int maxx=
-999999999
;for
(int i=
1;i<=n;
++i)
int xi=x;
if(maxx!=
-999999999)}
}printf
("%d"
,ans)
;//fclose(stdin);
//fclose(stdout);
return0;
}
noip普及2016總結
事實上,我在去年也報了noip的普及組.奈何當年太稚嫩,不懂騙分,只有210.以上都是前話,滿滿的都是不堪回首的黑歷史.1.概述 考前算是做了比較充分的準備吧,至少在每天晚自習都會抽幾分鐘的時間複習一下 事實上功課也並沒有怎麼耽誤 然後就是臨場發揮還是較好吧,可以根據自己的能力與資料的大小寫出合適的...
NOIP普及組總結
一些感想 考試,好也罷壞也罷,已經過去,只能反思,不能再來 題目 問題 a 3502 noip2017普及組 成績 題目描述 牛牛最近學習了c 入門課程,這門課程的總成績計算方法是 總成績 作業成績 20 小測成績 30 期末考試成績 50 牛牛想知道,這門課程自己最終能得到多少分。輸入只有1 行,...
NOIP普及 排座椅
上課的時候總會有一些同學和前後左右的人交頭接耳,這是令小學班主任十分頭疼的一件事情。不過,班主任小雪發現了一些有趣的現象,當同學們的座次確定下來之後,只有有限的 d 對同學上課時會交頭接耳。同學們在教室中坐成了 m 行 n 列,坐在第 ii 行第 jj 列的同學的位置是 i,j 為了方便同學們進出,...