石头剪刀布升级版[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;
}
相关推荐
m0_629494732 小时前
LeetCode 热题 100-----26.环形链表 II
数据结构·算法·leetcode·链表
壹号用户2 小时前
用队列实现栈
数据结构·算法
做人求其滴2 小时前
面试经典 150 题 380 274
c++·算法·面试·职场和发展·力扣
见叶之秋2 小时前
C++基础入门指南
开发语言·c++
daad7772 小时前
记一组无人机IMU传感器数据
算法
计算机安禾2 小时前
【c++面向对象编程】第42篇:模板特化与偏特化:为特定类型定制实现
开发语言·c++·算法
小O的算法实验室3 小时前
2026年KBS,流形感知强化学习差分进化算法+不规则3D无人机路径规划,深度解析+性能实测
算法·智能算法·智能算法改进
玖釉-3 小时前
C++ 中的循环语句详解:while、do...while、for、嵌套循环与循环控制
开发语言·c++·算法
不做无法实现的梦~3 小时前
运动控制系统复习一览-----常考题目总结版本
算法
小短腿的代码世界3 小时前
信号路由风暴:Qt算法交易系统的高频信号分发架构
qt·算法·架构