参加笔试时第一次接触牛客网的IDE发现自己竟然输入格式调了二十分钟。特意来记录一下有关牛客网的输入格式。
简单单行输入
input()函数输入的结果都是字符串,如果只是简单的单行输入,这里可以直接转换成列表等。如:
num = int(input())
list1 = list(input())
复杂输入
1 对于一行列表的输入,比如[6 2 1]
想要读取进来需要:
str1 = input()
list1 = str1.split()
list1 = list(map(int, lines))
#输出为[6,2,1] 的列表
2 对于多行输入,一般会先输入个整数说明输入的行数(n)
row = int(input())
lines = []
for n in range(row):
line = input()
if line=='':
break
tmp = line.split()
tmp = list(map(int,tmp))
lines.append(lines)
拿一道复杂的题举例子吧:
输入的格式为:(第一行前两个数字代表人数,最后一个数字代表方案数,下面的行是对应不同方案数的参数)
2 2 5
1 1 1 2
1 2 1 1
1 3 2 2
2 1 1 2
2 3 5 5
对于输入的处理:
#按照提出时间设置字典,加一行任务序号
[n_pm, n_chengxuyuan, n_idea] = [int(i) for i in input().strip().split()]
time_ideas = {}
for i in range(n_idea):
# 0:pm序号,1:提出时间,2:优先等级,3:所需时间,4:任务序号
idea = [int(i) for i in input().strip().split()]
idea.append(i)
if idea[1] not in time_ideas:
time_ideas[idea[1]] = []
time_ideas[idea[1]].append(idea)
print(time_ideas)
print(n_chengxuyuan)
print(n_idea)
{1: [[1, 1, 1, 2, 0], [2, 1, 1, 2, 3]], 2: [[1, 2, 1, 1, 1]], 3: [[1, 3, 2, 2, 2], [2, 3, 5, 5, 4]]}
2
5