HDU 4287 Intelligent IME
题意: 给出一些按键顺序和一个字典,问每个按键顺序可以对应字典中多少个单词。
分析: 直接模拟之。
#include<stdio.h> #include<string.h> #include<string> #include<map> using namespace std; int a[33]; void init() { int i; for(i=0;i<15;i++) a[i]=i/3+2; for(;i<19;i++) a[i]=7; for(;i<22;i++) a[i]=8; for(;i<26;i++) a[i]=9; } char num[5005][7]; char s[8]; int main() { init(); int i,t,n,m; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(i=1;i<=n;i++) scanf("%s",num[i]); map<string,int>v; while(m--) { scanf("%s",s); for(i=0;s[i];i++) s[i]=a[s[i]-'a']+'0'; v[s]++; } for(i=1;i<=n;i++) printf("%d\n",v[num[i]]); } return 0; }