''' input:  .L.R...LR....L. output: LL.RR.LLRRRLLL. ''' import sys import queue if __name__ == "__main__":     str1 = sys.stdin.readline().strip()     stack = queue.LifoQueue()     que = queue.Queue()     strnew =''     for i in range(len(str1)):         if(str1[i]=='.'):             que.put(str1[i])         if(str1[i]=='L'):             if(stack.empty()):                 while(not que.empty()):                     que.get()                     strnew+='L'             else:                 b = stack.get()                 strnew+=b                 count = 0                 while(not que.empty()):                     count+=1                     que.get()                 pos = int(count/2)                 if(count%2==0):                     strnew+='R'*pos+'L'*pos                 else:                     strnew+='R'*pos+'.'+'L'*pos             strnew+=str1[i]         if(str1[i]=='R'):             if(stack.empty()):                    while(not que.empty()):                     strnew+=que.get()             else:                 strnew+=stack.get()                 while(not que.empty()):                     que.get()                     strnew+='R'             stack.put(str1[i])     if(stack.empty()):         while(not que.empty()):             strnew+=que.get()     else:         strnew+=stack.get()         while(not que.empty()):             que.get()             strnew+='R'         print(strnew)
点赞 1

相关推荐

03-18 09:57
已编辑
重庆邮电大学 C++
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务