石头剪刀布升级版[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;
}
相关推荐
低调包含几秒前
CRC校验
算法
yy_xzz17 分钟前
QLineEdit 控件在设置了 QDoubleValidator 之后无法正确输入小数
c++·qt
ya888g32 分钟前
信息学奥赛复赛复习19-CSP-J2023-02公路-贪心算法、向上取整、向下取整
c++·算法
夜雨翦春韭41 分钟前
【代码随想录Day58】图论Part09
java·开发语言·数据结构·算法·leetcode·图论
纪怽ぅ1 小时前
LSTM——长短期记忆神经网络
python·深度学习·神经网络·算法·机器学习·lstm
#Y清墨1 小时前
STL映射
数据结构·c++
yannan201903131 小时前
【算法】(Python)回溯算法
python·算法
无职转生真好看1 小时前
数据结构:利用队列的基本操作,模拟病人到医院排队看病过程。
数据结构·c++·算法
心软且酷丶1 小时前
leetcode:面试题 05.07. 配对交换(python3解法)
python·算法·leetcode
跃跃欲试-迪之2 小时前
构建您自己的 RAG 应用程序:使用 Ollama、Python 和 ChromaDB 在本地设置 LLM 的分步指南
人工智能·python·算法