//Mikolaj Tofiluk
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
constexpr int MAXT=1007;
ll tab[MAXT];
map<ll,vector<int>> mapa;
ll odp[MAXT][10];
ll ile[10];
int t;
void wczytanie(){
cin>>t;
for (int i=0;i<t;i++) cin>>tab[i];
for (int i=0;i<t;i++) mapa[tab[i]].push_back(i);
}
ll cyfra(ll x){
ll w=x;
while (x>9){
w=1;
while (x>0){
w*=x%10;
x/=10;
}
x=w;
}
return x;
}
void wpisz(int index){
for (int i=0;i<10;i++) odp[index][i]=ile[i];
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
wczytanie();
int w=0;
ll i=1;
while (w<t){
ile[cyfra(i)]++;
if (mapa[i].size()>0){
for (int ind:mapa[i]){
wpisz(ind);
w++;
}
}
i++;
}
for (int i=0;i<t;i++){
for (int j=0;j<10;j++) cout<<odp[i][j]<<' ';
cout<<'\n';
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | //Mikolaj Tofiluk #include <bits/stdc++.h> using namespace std; using ll=long long; constexpr int MAXT=1007; ll tab[MAXT]; map<ll,vector<int>> mapa; ll odp[MAXT][10]; ll ile[10]; int t; void wczytanie(){ cin>>t; for (int i=0;i<t;i++) cin>>tab[i]; for (int i=0;i<t;i++) mapa[tab[i]].push_back(i); } ll cyfra(ll x){ ll w=x; while (x>9){ w=1; while (x>0){ w*=x%10; x/=10; } x=w; } return x; } void wpisz(int index){ for (int i=0;i<10;i++) odp[index][i]=ile[i]; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); wczytanie(); int w=0; ll i=1; while (w<t){ ile[cyfra(i)]++; if (mapa[i].size()>0){ for (int ind:mapa[i]){ wpisz(ind); w++; } } i++; } for (int i=0;i<t;i++){ for (int j=0;j<10;j++) cout<<odp[i][j]<<' '; cout<<'\n'; } } |
English