#include<stdio.h>
#define M 20
int ToDec(char[]);
int main()
{
int t,n1,n2,r,i;
char num1[M],num2[M],res[M],op[3][2];
//freopen("in.txt","r",stdin);
scanf("%d\n",&t);
printf("COWCULATIONS OUTPUT\n");
while(t--)
{
scanf("%s\n%s\n%s\n%s\n%s\n%s\n",num1,num2,op[0],op[1],op[2],res);
n1 = ToDec(num1);
n2 = ToDec(num2);
r = ToDec(res);
for(i=0;i<3;i++)
{
switch(op[i][0])
{
case 'A':
n2 = n1 + n2;
break;
case 'L':
n2 = n2<<2;
break;
case 'R':
n2 = n2>>2;
break;
}
}
if(n2==r)
printf("YES\n");
else
printf("NO\n");
}
printf("END OF OUTPUT\n");
return 0;
}
int ToDec(char num[])
{
int i,dec=0,p=1,n;
for(n=0;num[n];n++);
for(i=n-1;i>=0;i--)
{
switch(num[i])
{
case 'U':
dec += p;
break;
case 'C':
dec += (p<<1);
break;
case 'D':
dec += 3*p;
}
p = p<<2;
}
return dec;
}
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.