2011年11月18日 星期五

377 - Cowculations

本題請你實作一種特殊的運算,該運算有兩個數值Num1與Num2,Num1等於每組測試資料的第一列數值,Num2等於第二列數值,但是數值並非一般的阿拉伯數字,而是有四個字元:V, U, C, D,而其運算符號共有四種:A, R, L, N。
 
運算符號A表示將Num1與Num2相加之後,將其總和回存到Num2,其加法律規定如下:

對於上列對照表中的每一項,其第一個數值表示兩符號相加的結果,第二個數值表示進位值。

例如:U A V = U 且 C A C = V, 進位U。其他例子如下:
VUCDV A VUCDV = VDUCV
DVVCU A CVUCU = UUVCVC

運算符號R表示Num2的值向右移一位,最右邊的數值會遺失且V被補到最左邊的位數,例如VVCDU經運算後會變成VVVCD。

運算符號L表示Num2的值向左移一位,其最左邊的數值會保留且V被補到最右邊的位數,例如VVCDU會變成VVCDUV。

運算符號N表示空運算,即不做任何運算。

Input

輸入資料的第一列會有一個整數N表示測試資料的組數(1 <= N <= 10),每組測試資料六列,前兩列表示Num1與Num2,接下來有三列,每列有一個運算符號,請你判斷Num1, Num2依序經過這三個運算之後是否會等於第六列的數值。

Output

請在輸出資料的開頭與結尾分別輸出"COWCULATIONS OUTPUT", "END OF OUTPUT",請對每組測試資料判斷運算結果是否相同,是請輸出"YES",否則請輸出"NO"。

Sample Input

5
VVVVU
VVVVU
A
A
A
VVVVVVUV
VVCCV
VVDCC
L
R
A
VVVVUCVC
VVCCV
VVDCC
R
L
A
VVVVUCVV
VVUUU
VVVVU
A
N
N
VVVVVUCU
DDDDD
VVVVU
A
L
L
UVVVVVVV

Sample Output

COWCULATIONS OUTPUT
YES
YES
YES
NO
YES
END OF OUTPUT

原文出處

沒有留言:

張貼留言