CKAO @ 2021-12-29 16:04:47
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int n,k,res=0;
cin>>n>>k;
vector<int>a(n,1);
for (int i=0;i<a.size();i++)
{
a[i]=0;
res++;
if ((i+1)%k==0)
a.push_back(1);
}
cout<<res;
return 0;
}
by coderJT @ 2021-12-29 16:54:46
数据范围到了
所有烟的属性都是一样的,无论它是从哪里得来的,所以没有必要存储下来。
只需要记录当前数量,在换不了更多的烟之前,每次让当前数量减去k的整数倍、加上这个倍数并记录答案即可。