山魔
题目
有 n 座山,每座山有南北两面。
每一天,一些山的某一面 (不一定相同) 会受到山魔的袭击。
但是山魔一天最多只会袭击 k 座山。
当每座山的每一面都被袭击过后,山魔就会离开。
那么至少要经过多少天,山魔会消失?
Input
一行两个正整数 n, k。
Output
一个整数,表示答案。
Examples
devil.in devil.out
3 2 3
Notes
对于所有数据,满足 1 ≤ n, k ≤ 10。
Task1[10%]
k = 1
Task2[50%]
k ≤ 4
Task3[100%]
无特殊限制
思路
说点神奇的一眼看出规律。
当k>=n时,最多只能袭击所有山的半面,第二次袭击完。
其他时,n*2/k向上取整。
代码
#include<bits/stdc++.h> using namespace std; double n,k; int main() { cin>>n>>k; if(k>=n) cout<<2; else cout<<ceil(2*n/k); }
凑数题