第一个样例:
7
rvw
gz
mngiktpvl
qvw
qvz
ruy
stx
789 本地: 5 实际: 5 但是: 全部输出0
#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<cstring>
#include<algorithm>
#include<bits/stdc++.h>
//#pragma G++ optimize(2)
//#pragma G++ optimize(3, "Ofast", "inline")
using namespace std;
const int k = 2 * 1e3;
int n, ans;
string a[k], b;
int s1;
char s2;
bool flag;
map<int, map<char, bool>> mp;
int main() {
mp[2]['a'] = true;
mp[2]['b'] = true;
mp[2]['c'] = true;
mp[3]['d'] = true;
mp[3]['e'] = true;
mp[3]['f'] = true;
mp[4]['g'] = true;
mp[4]['h'] = true;
mp[4]['i'] = true;
mp[5]['j'] = true;
mp[5]['k'] = true;
mp[5]['l'] = true;
mp[6]['m'] = true;
mp[6]['n'] = true;
mp[6]['o'] = true;
mp[7]['p'] = true;
mp[7]['q'] = true;
mp[7]['r'] = true;
mp[7]['s'] = true;
mp[8]['t'] = true;
mp[8]['u'] = true;
mp[8]['v'] = true;
mp[9]['w'] = true;
mp[9]['x'] = true;
mp[9]['y'] = true;
mp[9]['z'] = true;
scanf("%d\n", &n);
for(int i = 1;i <= n;i++){
getline(cin, a[i]);
}
cin >> b;
for(int i = 1;i <= n;i++){
for(int j = 0;j < a[i].size();j++){
flag = false;
for(int k = 0;k < b.size();k++){
s1 = b[k] - '0';
s2 = a[i][j];
if(mp[s1][s2]){
flag = true;
break;
}
}
if(!flag){
break;
}
}
if(flag){
++ans;
}
}
printf("%d", ans);
return 0;
}