2020 02 01NOIP普及模擬4 怪獸

2021-10-02 18:22:37 字數 1516 閱讀 7478

pywbktda最近正在打怪獸,乙個斯拉夫神話中的兇猛怪獸,乙個有著多個頭的巨大龍狀爬行動物。

開始的時候,怪獸有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和x,分別表示打擊的種類和開始時候怪獸的頭的數量。

接下來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】

2 15

10 11

14 100

【輸出樣例3】

-1

對於50%的資料,1 ≤ n ≤ 10,1 ≤ x ≤ 100,1 ≤ d i ≤ 100,1 ≤ h i ≤ 100。

對於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 為了方便同學們進出,...