【每日一题】10月16日题目精讲 CF538B
Quasi Binary
https://ac.nowcoder.com/acm/problem/110925
思路:先判断出来各个位数上的最大值,得出一共要输出几个数,然后建一个数组,不断跑他的位数,进行模拟即可,暴力水题
#include<bits/stdc++.h> using namespace std; int a[105]; int b[1000005]; int n; int main(){ cin>>n; int ans=0; int k=0; memset(b,0,sizeof(b)); while(n>0){ a[++k]=n%10; n=n/10; } int maxn=0; for(int i=1;i<=k;i++) if(a[i]>maxn) maxn=a[i]; if(a[k]==maxn) ans=a[k]; else ans=maxn; int power=1; for(int i=1;i<=k;i++){ for(int j=1;j<=a[i];j++) b[j]=b[j]+1*power; power*=10; } cout<<ans<<endl; for(int i=1;i<=ans;i++) cout<<b[i]<<" "; cout<<endl; return 0; }