牛客网最终python笔试题_2020年网易算法笔试题第四题python实现

现在请你判断序列T是不是优秀的

输入描述

第一行数据组数T,表示有T组数据

每组数据的第一行是一个01序列,表示序列S。第二行是另一个01序列,表示序列T

1<=|S|,|T|<=1000,S,T不含前导零。

输出描述

对于每组数据,一行输出 YES或 NO,表示序列T是不是优秀的(大小写敏感)

示例

输入

1

1100

110011

输出

YES

示例2

输入

1

1000

100001111

输出

NO

n = int(input())

for i in range(n):

S = input()

T = input()

ST = S + T

S_list = list(S)

ST_list = list(ST)

all_S = []

while S_list:

all_S.append(''.join(S_list))

for j, value in enumerate(S_list):

if value == '1':

S_list[j] = '0'

else:

S_list[j] = '1'

while S_list and S_list[0] == '0':

S_list.pop(0)

while ST_list:

for j, value in enumerate(ST_list):

if value == '1':

ST_list[j] = '0'

else:

ST_list[j] = '1'

while ST_list and ST_list[0] == '0':

ST_list.pop(0)

if ''.join(ST_list) in all_S:

print('YES')

break

else:

print('NO') 以上为个人思考结果,未经严格验证,如有错误还望见谅和指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值