社区讨论
求条!25pts,玄1管
P14173 【MX-X23-T3】猜拳游戏参与者 3已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @mhj30ewl
- 此快照首次捕获于
- 2025/11/03 19:53 4 个月前
- 此快照最后确认于
- 2025/11/03 19:53 4 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m,ans;
string a,b;
int gcd(int x,int y){
if(!x||!y) return x+y;
else return gcd(y,x%y);
}
signed main() {
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
cin>>n>>m>>a>>b;
if(m==1){
int a1=0,a2=0,a3=0;
char s=b[0];
for(int i=0;i<n;i++){
if(a[i]=='R')a1++;
else if(a[i]=='P')a2++;
else a3++;
}
if(!a1||!a2||!a3) return cout<<0,0;
for(int i=0;i<n;i++){
if(a[i]==s) ans++;
}
cout<<ans;
return 0;
}
int g=gcd(n,m);
for(int j=0;j<g;j++){
int s1=0,s2=0,s6=0;
int s3=0,s4=0,s5=0;
for(int i=j;i<n;i+=g){
if(a[i]=='R')s1++;
else if(a[i]=='P')s2++;
else s6++;
}
for(int i=j;i<m;i+=g){
if(b[i]=='R')s3++;
else if(b[i]=='P')s4++;
else s5++;
}
ans+=min(s1,s3)+min(s2,s4)+min(s6,s5);
}
cout<<ans<<"\n";
return 0;
}
回复
共 7 条回复,欢迎继续交流。
正在加载回复...