1. 程式人生 > 其它 >LuoguP5613 [MtOI2019]黑蚊子多 題解

LuoguP5613 [MtOI2019]黑蚊子多 題解

LuoguP5613 [MtOI2019]黑蚊子多 題解

沒錯,又是我,我又來給\(Div.2A\)題寫題解了(捂臉)。

這題其實是一個簡單的模擬,不過題目有點難看懂。近來div.2 A最難的題目


設兩個變數\(cur\)\(ans\),分別表示目前所跳到的臺階和最終需要的時間。每次跳完之後,就先讓\(cur\)當前\(m\)\(ans\)加1,然後再判斷是不是跳到了特定的臺階,這個暴力列舉一下,再一個一個比對就行了。【當然你如果只想拿\(60\)分,就直接\(v=\left\lceil\dfrac{s}{t}\right\rceil\)就可以了(\(\left\lceil x\right\rceil\)表示\(x\)向上取整,例如\(\left\lceil1.1\right\rceil=2\)

),反正拿多少分由你自己決定。】

所以這道題目就做完了。


下面奉上完整\(AC\)程式碼:

#include <cstdio>
#include <algorithm>
using namespace std;

int n, m, k, a[17];
int main() {
	scanf("%d%d%d", &n, &m, &k);
	for(int i = 1; i <= k; ++i)
		scanf("%d", &a[i]);
	int cur = 0, ans = 0;
	while(cur < n) {
		cur += m;
		ans++;
		for(int i = 1; i <= k; ++i)
			if(cur == a[i])
				m++;
	}
	printf("%d", ans);
	return 0;
}