题解:P14173 【MX-X23-T3】猜拳游戏
题意简述
找到
思路分析
定义
AC CODE
#include<iostream>
#include<set>
using namespace std;
char a[500005],b[500005];
int GCD(int a,int b)
{
if(a%b==0) return b;
return GCD(b,a%b);
}
int ar,ap,as,br,bp,bs;
int ans;
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
for(int i=1;i<=m;i++)
{
cin>>b[i];
}
int g=GCD(n,m);
for(int i=1;i<=g;i++)
{
ar=0,as=0,ap=0;
br=0,bs=0,bp=0;
for(int j=i;j<=n;j+=g)
{
if(a[j]=='R') ar++;
if(a[j]=='S') as++;
if(a[j]=='P') ap++;
}
//cout<<ar<<" "<<as<<" "<<ap<<endl;
for(int j=i;j<=m;j+=g)
{
if(b[j]=='R') br++;
if(b[j]=='S') bs++;
if(b[j]=='P') bp++;
}
//cout<<br<<" "<<bs<<" "<<bp<<endl;
ans+=min(ar+bs+ap,min(ar+as+bp,min(ar+bs+bp,min(br+as+bp,min(br+bs+ap,br+as+ap)))));
}
cout<<ans;
return 0;
}