#include <iostream> #include <vector> using namespace std; int win_table[5][2] = { {2, 3}, // 0 beats 2, 3 {0, 3}, // 1 beats 0, 3 {1, 4}, // 2 beats 1, 4 {2, 4}, // 3 beats 2, 4 {0, 1} // 4 beats 0, 1 }; int main() { int n, na, nb; cin >> n >> na >> nb; vector<int> a_cycle(na), b_cycle(nb); for (int i = 0; i < na; ++i) cin >> a_cycle[i]; for (int i = 0; i < nb; ++i) cin >> b_cycle[i]; int score_a = 0, score_b = 0; for (int i = 0; i < n; ++i) { int a = a_cycle[i % na]; int b = b_cycle[i % nb]; if (b == win_table[a][0] || b == win_table[a][1]) { score_a++; } else if (a == win_table[b][0] || a == win_table[b][1]) { score_b++; } } cout << score_a << " " << score_b << endl; return 0; } /************************************************************** Problem: 2334 User: linzihang Language: C++ Result: Accepted Time:52 ms Memory:2072 kb ****************************************************************/