```cpp
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 200 + 10;
int n, na, nb, a[MAXN], b[MAXN], suma, sumb;
int vs[5][5] = {{0,0,1,1,0},{1,0,0,1,0},{0,1,0,0,1},{0,0,1,0,1},{1,1,0,0,0}};
int main()
{
cin >> n >> na >> nb;
for(int i = 0; i < na; i++) cin >> a[i];
for(int i = 0; i < nb; i++) cin >> b[i];
for(int i = 0; i < n; i++)
{
suma += vs[a[i % na]][b[i % nb]];
sumb += vs[b[i % nb]][a[i % na]];
}
cout << suma << " " << sumb << endl;
return 0;
}
```
简单 明了 AC
顺便一提,这是上次某位仁兄求助时,我帮他改的代码
宁对照一下,应该可以理解吧~~~
by light_dream @ 2022-08-24 18:38:00
应该是if里面有打错的或者漏打的
建议敲一个二维数组存储.a[i][j]代表第一个人出i第二个人出j,第一个人赢或输.
by SamHJD @ 2022-08-24 18:39:17
@[light_dream](/user/642173)
方法懂了,谢谢!顺便提一句,你没抄题解吧,代码好像跟一篇题解的一样。
by chanthu2114 @ 2022-08-24 21:20:26