#include<iostream> #include<cstring> #include<fstream> #include<algorithm> using namespace std; fstream fin("phone.in",ios::in),fout("phone.out",ios::out); char unu[11][12],x[12],model[12]; int lmodel,lunu[11]; void scrie(int k) { int i; for(i=0;i<=k;i++) { cout<<x[i]; } cout<<endl; } void back(int k) { int i,r; if(k==lmodel) { scrie(k-1); return; } for(i=0;i<lunu[model[k]-'0'];i++) { if(x[k-1]<=unu[model[k]-'0'][i]&&k>0) { x[k]=unu[model[k]-'0'][i]; back(k+1); } else { if(k==0) { x[k]=unu[model[k]-'0'][i]; back(k+1); } } } } int main() { int i; for(i=0;i<10;i++) { fin>>unu[i]; lunu[i]=strlen(unu[i]); sort(unu[i],unu[i]+lunu[i]); } fin>>model; lmodel=strlen(model); back(0); }