// 2009アジア地区予選 H : Twenty Questions #include #include #include #include #include using namespace std; map, int>, int> mp; string qes[128]; int search(vector &vi, int depth, int used, int m, int n){ if(mp.count(make_pair(vi, used))) return mp[make_pair(vi,used)]; if(vi.size() > (1<<(m-depth))) return 100; if(vi.size() == 1) return depth; int res = 100; for(int i=0;i>i)&1) continue; vector a, b; for(int j=0;j> m >> n, m){ for(int i=0;i> qes[i]; vector vi(n); for(int i=0;i