社区讨论

看一看

灌水区参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lo7m83sm
此快照首次捕获于
2023/10/27 04:06
2 年前
此快照最后确认于
2023/10/27 04:06
2 年前
查看原帖

题目描述

小名和小志在玩石头剪刀布的游戏,谁输了就要做值日。为了保证公平,他们决定玩 n局,并且记录下每局两个人出的手势。游戏规则是石头胜剪刀,剪刀胜布,布胜石头,若两人手势相同则是平局。
请你根据记录的内容,算出两个人分别赢了多少局。

输入格式

文件中第一行是一个整数 n(1≤n≤100)。
第二行是一个长度为n个字符的字符串,表示小名每局出的手势。
第三行是一个长度为n个字符的字符串,表示小志每局出的手势。
字符串只含有‘R’、‘P’、‘S’三种字符,其中‘R’表示石头(Rock),‘P’表示布(Paper),‘S’表示剪刀(Scissors)。

输出格式

文件仅一行,有两个整数,之间用空格隔开,依次表示小名和小志分别赢了多少局。

样例输入

CPP
6
RRPSPP
RPSPRR

样例输出

CPP
3 2
谁能给一下代码
我的代码↓
CPP
#include<iostream>
#include<iomanip>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<string>
#include<bits/stdc++.h>
using namespace std;
long long n,a1=0,b1=0;
char a[10000],b[10000];
int main(int argc,char *argv[])
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	for(int i=1;i<=n;i++)
	{
		cin>>b[i];
	}
	for(int i=1;i<=n;i++)
	{
		if(a[i]=='R' && b[i]=='R') 
		{
			a1+=0;
			b1+=0;
		}
		if(a[i]=='S' && b[i]=='S') 
		{
			a1+=0;
			b1+=0;
		}
		if(a[i]=='P' && b[i]=='P') 
		{
			a1+=0;
			b1+=0;
		}
		if(a[i]=='R' && b[i]=='S')
		{
			a1++;
		}
		if(a[i]=='S' && b[i]=='R')
		{
			b1++;
		}
		if(a[i]=='R' && b[i]=='P')
		{
			b1++;
		}
		if(a[i]=='P' && b[i]=='R')
		{
			a1++;
		}
		
		if(a[i]=='P' && b[i]=='S')
		{
			b1++;
		}
		if(a[i]=='S' && b[i]=='P')
		{
			a1++;
		}
	}
	cout<<a1<<endl<<b1<<endl;
	return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...