石头剪刀布升级版[NOIP2014]
输出格式
输出一行,包含两个整数,以一个空格分隔,分别表示小 A、小 B 的得分。
样例 #1
样例输入 #1
10 5 6
0 1 2 3 4
0 3 4 2 1 0
样例输出 #1
6 2
样例 #2
样例输入 #2
9 5 5
0 1 2 3 4
1 0 3 2 4
样例输出 #2
4 4
提示
对于 100% 的数据,0<N≤200,0<NA≤200,0<NB≤200 。
#include<bits/stdc++.h>
using namespace std;
int n, a, b;
int gavv[1000], valen[1000];
int main() {
//freopen("rps.in","r",stdin);
//freopen("rps.out","w",stdout);
cin >> n >> a >> b;
for (int i = 1; i <= a; i++) cin >> gavv[i];
for (int i = 1; i <= b; i++) cin >> valen[i];
int a1 = 1, b1 = 1, ans1 = 0, ans2 = 0;
while (n--) {
if (a1 > a) a1 = 1;
if (b1 > b) b1 = 1;
if (gavv[a1] == 0) {
if (valen[b1] == 1||valen[b1]==4) {
ans2++;
} else {
if (valen[b1] != 0) ans1++;
}
}
if (gavv[a1] == 1) {
if (valen[b1] == 2 || valen[b1] == 4) {
ans2++;
} else {
if (valen[b1] != 1) ans1++;
}
}
if (gavv[a1] == 2) {
if (valen[b1] == 0 || valen[b1] == 3) {
ans2++;
} else {
if (valen[b1] != 2) ans1++;
}
}
if (gavv[a1] == 3) {
if (valen[b1] == 1 || valen[b1] == 0) {
ans2++;
} else {
if (valen[b1] != 3) ans1++;
}
}
if (gavv[a1] == 4) {
if (valen[b1] == 2 || valen[b1] == 3) {
ans2++;
} else {
if (valen[b1] != 4) ans1++;
}
}
a1++;
b1++;
}
cout<<ans1<<' '<<ans2;
return 0;
}