#include #include #include #include #include #include #include #include using namespace std; struct S{ set EDCM[4]; int cnt; }; vector minimumZooNumbers(int m, int n, vector t, vector s, vector d) { // Return a list of length n consisting of the answers map dict; dict['E'] = 0; dict['D'] = 1; dict['C'] = 2; dict['M'] = 3; for(int i=0; i> ss(m), dd(m); for(int i=0; i vec; S s0; s0.cnt = 0; vec.push_back(s0); vector ans(m, 0); for(int i=0; i v2; for(auto &state : vec){ if(state.EDCM[(anim+1)%4].size() == 0 && state.EDCM[(anim-1+4)%4].size() == 0){ S s2 = state; s2.EDCM[anim].insert(star); v2.push_back(s2); } } for(auto &state : v2) vec.push_back(state); } } //for(int i=0; i ret(n); int pos = 0; for(int i=0; i pos){ for(int j=pos; j> cases; for(int a0 = 0; a0 < cases; a0++){ int m; int n; cin >> m >> n; vector t(n); for(int t_i = 0; t_i < n; t_i++){ cin >> t[t_i]; } vector s(n); for(int s_i = 0; s_i < n; s_i++){ cin >> s[s_i]; } vector d(n); for(int d_i = 0; d_i < n; d_i++){ cin >> d[d_i]; } vector result = minimumZooNumbers(m, n, t, s, d); for (ssize_t i = 0; i < result.size(); i++) { cout << result[i] << (i != result.size() - 1 ? " " : ""); } cout << endl; } return 0; }