1 -> 80, 2 -> 80+, 3 -> 100 能告诉我为啥,前两个没过吗。。。
1.
import sys
n = int(sys.stdin.readline().strip())
clock_times = []
for _ in range(n):
clock_times.append(list(map(int, sys.stdin.readline().strip().split())))
walk_minutes = int(sys.stdin.readline().strip())
class_time = list(map(int,sys.stdin.readline().strip().split()))
def get_minutes_from_time(time):
return time[0] * 60 + time[1]
def get_time_from_minutes(minuts):
time = []
time.append(minuts // 60)
time.append(minuts % 60)
return time
def solution(n, clock_times, walk_minutes, class_time):
clock_minutes = []
class_minute = get_minutes_from_time(class_time)
for clock_time in clock_times:
clock_minutes.append(get_minutes_from_time(clock_time))
clock_minutes.sort(reverse=True)
for clock_minute in clock_minutes:
total_minute = clock_minute + walk_minutes
if total_minute <= class_minute:
return get_time_from_minutes(clock_minute)
if __name__ == "__main__":
result = solution(n, clock_times, walk_minutes, class_time)
print(result[0], result[1], sep=" ")
2.
import sys
n, k = list(map(int, sys.stdin.readline().strip().split()))
message_encoded = sys.stdin.readline().strip()
def solution(n, k, message_encoded):
if n == 0 or k == 0:
return ""
if k == 1:
return message_encoded
message_encoded = list(message_encoded)
message_encoded = list(map(int, message_encoded))
a_n = []
for i in range(n):
if i == 0:
a_n.append(int(message_encoded[0]))
continue
if i < k:
a_n.append(message_encoded[i] ^ message_encoded[i - 1])
continue
else:
a_n.append(message_encoded[i] ^ message_encoded[i - 1] ^ a_n[i - k])
return "".join(list(map(str, a_n)))
if __name__ == "__main__":
print(solution(n, k, message_encoded))
3.
import sys
n = int(sys.stdin.readline().strip())
ages = list(map(int, sys.stdin.readline().strip().split()))
def solution(n, ages):
if n == 0:
return 0
if n == 1:
return 100
bonus = []
for i in range(n):
bonus.append(100)
for i in range(n - 1):
if ages[i + 1] > ages[i]:
bonus[i + 1] = max(bonus[i + 1], bonus[i] + 100)
for i in range(n - 1, 0, -1):
if ages[i - 1] > ages[i]:
bonus[i - 1] = max(bonus[i - 1], bonus[i] + 100)
return sum(bonus)
if __name__ == "__main__":
print(solution(n, ages))