前期工作:
1 关于打包
在windows系统下,先把你写的程序写在src里面的CodeCraft-2021里面
然后在这个页面,将这三个文件压缩就可以上传啦:
2 关于标准输入
标准输入,如果你已经采用了
sys.stdin.readline()
如果报超时或者程序异常现在你就应该检查一下,是否读取数据有错误了。如果本地输出没问题,没有报别的错,就是标准输入写的有错!!!
3 关于解析购买错误
如果你觉得你的输出没有问题,但是还是报了这个错,建议你把每一代虚拟机打印一下,看是不是有些虚拟机没有安排给服务器,或者检查一下你的purcase大小写情况,或者有没有多余的输出。
4 关于CPU或内存超出服务器容量
这个时候你可以写一个Check函数输出服务器的剩余内存情况,如果剩余CPU或者内存小于0,对可疑的地点进行定位,肯定可以找出哪里没注意到超出内存的。
5 标准输入代码
好的,那些你不会写的标准输入,这里有送,代码如下:
def Get_data():
serves = []
servers_num = int(sys.stdin.readline())
for i in range(servers_num):
temp = sys.stdin.readline()
temp = re.findall(r'[a-zA-Z0-9.]{1,}', temp)
serve = [int(i) if i.isdigit() else i for i in temp]
serves.append(serve)
virtuals = []
virtuals_num = int(sys.stdin.readline())
for i in range(virtuals_num):
temp = sys.stdin.readline()
temp = re.findall(r'[a-zA-Z0-9.]{1,}', temp)
virtual = [int(i) if i.isdigit() else i for i in temp]
virtuals.append(virtual)
user_requests = []
days = int(sys.stdin.readline())
for i in range(days):
day_num = int(sys.stdin.readline())
day_requests = []
for j in range(day_num):
temp = sys.stdin.readline()
temp = re.findall(r'[a-zA-Z0-9.]{1,}', temp)
request = [int(i) if i.isdigit() else i for i in temp]
day_requests.append(request)
user_requests.append(day_requests)
return serves, virtuals, user_requests
def main():
# to read standard
serves, virtuals, user_requests = Get_data()
# process
d = daily_situation(serves, virtuals, user_requests)
d.Virtual_use()
# to write standard output
sys.stdout.flush()
if __name__ == "__main__":
main()