Codeforces 934D - A Determined Cleanup

时间:2022-06-16 08:56:05

934D - A Determined Cleanup

思路:

找规律,和k进制的求法差不多,答案的奇数位是p%k,偶数位如果p%k!=0,那么答案是k-p%k,否则为0。

代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define mem(a,b) memset(a,b,sizeof(a)) const int N=2e3+;
vector<int>ans;
int main(){
ios::sync_with_stdio(false);
cin.tie();
ll p,k;
cin>>p>>k;
int t=;
while(p){
if(t%==)ans.pb(p%k),p/=k;
else{
if(p%k)ans.pb(k-p%k),p=p/k+;
else ans.pb(),p=p/k;
}
t++;
}
cout<<ans.size()<<endl;
for(int i=;i<ans.size();i++)cout<<ans[i]<<' ';
cout<<endl;
return ;
}