題目
一串長度爲 n 的字符串 A 和一串長度爲 m 的字符串 B。並且這兩串字符串只會含有 0 或 1 。
鐵子可以對字符串 A 執行兩種操作,兩種操作可以執行任意次。
操作1(無情替換):鐵子可以用 11 替換掉 0 ,也可以用 00 替換掉 1 .
操作2(極限刪除):鐵子可以刪除掉 111 ,也可以刪除 000 .
現在問,字符串 A 可以變成字符串 B 嗎?
輸入描述:
第一行有一個整數T,表示有T(1<=T<=1000)組測試數據。
接下來的每組數據,第一行有兩個整數n,m(1<=n,m<=100),表示字符串A和字符串B的長度。
接下來有兩行字符串,分別表示字符串A和字符串B。
輸出描述:
對於每組測試數據,如果字符串A可以變爲字符串B,則輸出一行”YES”,否則輸出一行”NO”.輸出不包括引號。
思路
將兩個字符串運用00→1將1全部替換爲0,然後根據刪除000,若兩字符串對3取餘相同,則可以變換
代碼
原題爲C++題目,故有些數據在python中多餘
a = int(input("數據數量"))
b = 0
c = 0
while a>0 :
m = input("第一個長度")
n = input("第二個長度")
num1 = input("數列一")
l1 = list(map(int, num1.split()))
num2 = input("數列二")
l2 = list(map(int, num2.split()))
for i in l1:
if(i==0):
b += 1
else:
b += 2
for i in l2:
if (i == 0):
c += 1
else:
c += 2
if(b%3 == c%3):
print("yes")
else:
print("no")
a -= 1
python真是妙啊