-
Notifications
You must be signed in to change notification settings - Fork 0
/
628 - Passwords.cpp
64 lines (61 loc) · 1001 Bytes
/
628 - Passwords.cpp
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
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <vector>
#include <stack>
#include <map>
#define ll long long
using namespace std;
// code//
vector<string> v;
vector<string> chuoi; // vector chua chuoi
void xuly(string s, int left){
if(left==s.size()){
for(int i=0;i<v.size();i++){
cout << v[i];
}
cout << endl;
return ;
}
if(s[left]=='#'){
for(int i=0;i<chuoi.size();i++){
v.push_back(chuoi[i]);
xuly(s,left+1);
//xoa
v.pop_back();
}
}
if(s[left]=='0'){
for(int i=0;i<10;i++){
string a;
a+=(char)(i+'0');
v.push_back(a);
a.clear();
xuly(s,left+1);
// xoa
v.pop_back();
}
}
}
int main(){
// freopen("ip.txt","r",stdin);
int n;
while(cin >> n){
cout << "--\n";
string s;
for(int i=0;i<n;i++){
cin >> s;
chuoi.push_back(s);
}
int N; // xo luong rule;
cin >> N;
string rule;
for(int i=0;i<N;i++){
cin >> rule;
xuly(rule,0);
}
chuoi.clear();
}
}