2022秋 C语言程序设计 作业6-21
作者:
GhostBlade
,
2022-12-19 17:13:13
,
所有人可见
,
阅读 169
#include<stdio.h>
int main()
{
int B,E;
int i,j,x=0,y=0,count=0;
int sum1=0,sum2=0,n=0;
scanf("%d %d",&B,&E);
int a[B],b[E];
char c[B],d[E];
for(i=0;i<B;i++){
scanf("%d %c\n",&a[i],&c[i]);
}
for(i=0;i<E;i++){
scanf("%d %c\n",&b[i],&d[i]);
}
for(i=0;i<B;i++){
sum1+=a[i];
}
for(i=0;i<E;i++){
sum2+=b[i];
}
char cn[sum1],dn[sum2];
for(i=0;i<B;i++){
for(j=0;j<a[i];j++){
cn[n]=c[i];
n+=1;
}
}
n=0;
for(i=0;i<E;i++){
for(j=0;j<b[i];j++){
dn[n]=d[i];
n+=1;
}
}
if(sum1>=sum2){
for(i=0;i<sum2;i++){
if(cn[i]=='R') x++;
if(cn[i]=='L') x--;
if(dn[i]=='R') y++;
if(dn[i]=='L') y--;
if(x==y) count+=1;
}
for(i=0;i<sum1-sum2;i++){
if(cn[i+sum2]=='R') x++;
if(cn[i+sum2]=='L') x--;
if(x==y) count+=1;
}
}
if(sum1<sum2){
for(i=0;i<sum1;i++){
if(cn[i]=='R') x++;
if(cn[i]=='L') x--;
if(dn[i]=='R') y++;
if(dn[i]=='L') y--;
if(x==y) count+=1;
}
for(i=0;i<sum2-sum1;i++){
if(dn[i+sum1]=='R') y++;
if(dn[i+sum1]=='L') y--;
if(x==y) count+=1;
}
}
printf("%d",count);
return 0;
}