石头剪刀布升级版[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 。

cpp 复制代码
#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;
}
相关推荐
不会就选b15 分钟前
算法日常・每日刷题--<归并排序>1
数据结构·算法
啦啦啦啦啦zzzz41 分钟前
算法:回溯算法
c++·算法·leetcode
IT探索1 小时前
Linux 查找文件指令总结
linux·算法
Lzg_na1 小时前
订阅发布模块事例
c++
郝学胜-神的一滴1 小时前
[简化版 GAMES 104] 现代游戏引擎 02:拆解现代游戏引擎5+1层级架构,吃透引擎底层核心逻辑
c++·unity·架构·游戏引擎·图形渲染·unreal engine·系统设计
汉克老师1 小时前
2026年CSP-J初赛分数线-----预测
c++·csp-j·小学生·学c++编程
脱胎换骨-军哥1 小时前
C++数据库存储引擎内核开发:B+树索引与MVCC并发控制的完整实现
数据库·c++·b树
Lumos1862 小时前
51单片机从零到实战(完结)——后续学习路线建议
算法
稚南城才子,乌衣巷风流2 小时前
DFS序详解:原理、应用与实现
算法·深度优先·图论