#include #include #include using namespace std; char User[12][12]; char Digits[1000]; bool Ap[128]; char Tmp[12]; #define FILEIN "phone.in" #define FILEOUT "phone.out" int V[12]; void bt(int k) { if (Digits[k] == '\n' || Digits[k] == '\0') { for ( int i = 0; i < k; i++) { printf("%c", User[Digits[i] - '0'][V[i]]); } printf("\n"); return; } for ( int i = 0, len = strlen(User[Digits[k] - '0']); i < len; i++) { V[k] = i; bt(k+1); } } int main() { //freopen(FILEIN, "r", stdin); //freopen(FILEOUT, "w", stdout); for ( int i = 0; i < 10; i++ ) { fgets(Tmp, 12, stdin); memset(Ap, 0, sizeof(Ap)); for ( int j = 0, len = strlen(Tmp); j < len; j++ ) { if (Tmp[j] >= 'a' && Tmp[j] <= 'z') Ap[Tmp[j]] = 1; } int k = 0; for ( int j = 'a'; j <= 'z'; j++ ) { if (Ap[j]) User[i][k++] = j; } } fgets(Digits, 1000, stdin); bt(0); return 0; }