石头剪刀布升级版[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;
}
相关推荐
我不会起名字3227 小时前
一天一道力扣Hot100(37):深度优先算法--括号生成
java·数据结构·c++·后端·python·算法·go
m0_734571767 小时前
深入理解C++ 多态<三>(Polymorphism)模板方法模式
开发语言·c++
foolishlee7 小时前
SCRAM-SHA-256
数据库·算法·postgresql
Rabitebla7 小时前
【Linux 系统编程】权限(一):身份、提权,和那 9 个权限位
linux·数据结构·c++·算法
艾莉丝努力练剑8 小时前
【AI大模型接入SDK】SQLite基础概念与C的API开发
网络·c++·人工智能·学习·架构
東隅已逝,桑榆非晚8 小时前
List(类函数学习)
c++·笔记·学习
Dr_Fourier8 小时前
AWQ量化
c++·人工智能·pytorch·ai
-dzk-8 小时前
【回溯】LC 22.括号生成
算法·回溯
杜 硕9 小时前
顺序表算法
数据结构·算法
AgentMaster10 小时前
智能客服多渠道接入,5 款产品的全渠道整合能力对比与实战
大数据·人工智能·算法