50分求助!!!

P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布

样例全部都通过了啊
by 415gjy @ 2021-01-03 12:20:06


[测试结果](https://www.luogu.com.cn/record/44566287)
by 415gjy @ 2021-01-03 12:22:22


@[1131郭君勇](/user/365801) 下载数据看看
by liuzimingc @ 2021-01-03 12:45:27


输入: 40 10 5 3 4 2 1 0 3 4 2 1 0 3 4 2 1 0 输出: 0 0 没有问题啊
by 415gjy @ 2021-01-03 13:02:38


然而,可悲的是 你的样例4输出的似乎是2 2
by Twistzz__ @ 2021-01-03 14:19:15


?!
by 415gjy @ 2021-01-03 14:55:10


那么怎么改呢?!
by 415gjy @ 2021-01-03 14:56:02


相信我,第一次打表一般都会遗漏一些情况
by Ernst_Thalmann @ 2021-01-03 21:16:30


```cpp #include <iostream> //0 表示剪刀,1 表石头,2 表布,3 表蜥蜴人,4表斯波克 using namespace std; int main() { int n, na, nb, a[210], b[210], suma = 0, sumb = 0; 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 ++) { int idxa = i % na, idxb = i % nb; if(a[i % na] == b[i % nb]) continue; if(a[i % na] == 0) { if(b[i % nb] == 1) sumb ++; if(b[i % nb] == 2) suma ++; if(b[i % nb] == 3) suma ++; if(b[i % nb] == 4) sumb ++; } if(a[i % na] == 1) { if(b[i % nb] == 0) suma ++; if(b[i % nb] == 2) sumb ++; if(b[i % nb] == 3) suma ++; if(b[i % nb] == 4) sumb ++; } if(a[i % na] == 2) { if(b[i % nb] == 0) sumb ++; if(b[i % nb] == 1) suma ++; if(b[i % nb] == 3) sumb ++; if(b[i % nb] == 4) suma ++; } if(a[i % na] == 3) { if(b[i % nb] == 0) sumb ++; if(b[i % nb] == 1) sumb ++; if(b[i % nb] == 2) suma ++; if(b[i % nb] == 4) suma ++; } if(a[i % na] == 4) { if(b[i % nb] == 0) suma ++; if(b[i % nb] == 1) suma ++; if(b[i % nb] == 2) sumb ++; if(b[i % nb] == 3) sumb ++; } } cout << suma << " " << sumb; } ```
by chenyitian @ 2021-02-15 19:11:37


@[chenyitian](/user/364741) thanks
by 415gjy @ 2022-08-01 16:01:23


|