CF出div4了,我的青春结束了
第一场div4的话就我的体验来说前面几道比较偏模拟,后面几道比较偏构造思维,个人体验还行
(注意:由于还未终测所以代码不保证正确性,AB以外的题没写题意简述)
本文同步发布于个人博客
A. Sum of Round Numbers
题意简述
T T T组数据,给你一个数字 n n n,要你用最少的round number表示出 n n n,round number意思是最左边不为 0 0 0,其他都为 0 0 0的数字,其实就是 k ⋅ 1 0 x k\cdot 10^x k⋅10x这样
数据范围
1 ≤ t ≤ 1 0 4 , 1 ≤ n ≤ 1 0 4 1\leq t\leq 10^4,1\leq n\leq 10^4 1≤t≤104,1≤n≤104
题解
很显然,直接把每位拆开来就行,我的写法是在计算第 k k k位数是几的同时维护一下base,意思是现在的数需要乘base
代码
int T,n;
vector<int> a;
int main()
{
cin>>T;
while(T--)
{
cin>>n;
int ans=0;a.clear();
int base=1;
while(n)
{
if(n%10!=0)
{
a.push_back((n%10)*base);
ans++;
}
n/=10;
base*=10;
}
cout<<ans<<endl;
for(int i=0;i<a.size();i++) cout<<a[i]<<" ";
cout<<endl;
}
return 0;
}
B. Same Parity Summands
题意简述
T T T组数据,给定 n n n和 k k k,求 n n n可不可以被 k k k个奇数或者 k k k个偶数表示,可以输出YES,否则输出NO
数据范围
1 ≤ t ≤ 1000 , 1 ≤ n ≤ 1 0 9 , 1 ≤ k ≤ 100 1\leq t\leq 1000,1\leq n\leq 10^9,1\leq k\leq 100 1≤t≤1000,1≤n≤109,1≤k≤100
题解
首先 k k k个同奇偶性的数其实取多大都不会影响性质,我取了 k − 1 k-1 k−1个偶数,最后是偶数那就成立,奇数也一样,