# 迷宫(91%) n = int(input().strip()) a = [] label = -1 for i in range(n):     a.append(list(input().strip())) visited = [[0] * n for i in range(n)] dirs = [(-1,0),(1,0),(0,-1),(0,1)] for i in range(n):     for j in range(n):         if a[i][j] == 'S':             visited[i][j] = 1             queue = [(i,j,0)]             while queue:                 tmp = queue.pop(0)                 for t in dirs:                     i_n = (tmp[0] + t[0])%n                     j_n = (tmp[1] + t[1])%n                     if visited[i_n][j_n] == 0 and a[i_n][j_n] != '#':                         visited[i_n][j_n] = 1                         queue.append((i_n,j_n,tmp[2]+1))                         if a[i_n][j_n]=='E':                             label = tmp[2]+1                             break                 if label!=-1:                     break print(label) # 字符串(100%) s = list(input().strip()) stack = [] se = set([')',"<"]) for i in range(len(s)):     if s[i] not in se:         stack.append(s[i])     elif s[i]==')':         tmp = stack.pop(-1)         while tmp != "(":             tmp = stack.pop(-1)     else:         if not stack:             continue         if stack[-1]=='(':             continue         else:             stack.pop(-1) print(''.join(stack)) # 宝物,O(n2), 超时,9%?直接print(3) 18%??? from operator import itemgetter n = int(input().strip()) a = [] for i in range(n):     a.append(list(map(int, input().strip().split()))) a.sort(key=itemgetter(0)) dp = [1]*n max_s = 1 for i in range(len(a)):     maxm = 1     for j in range(i):         if a[i][1] >= a[j][1]:             tmp = dp[j] + 1         else:             tmp = dp[j]         if tmp > maxm:             maxm = tmp     dp[i] = maxm     if dp[i] > max_s:         max_s = dp[i] print(max_s)
点赞 4

相关推荐

不愿透露姓名的神秘牛友
06-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-16 18:03
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务