前期工作:
2021华为软挑初探——代码实现
2021华为软挑再探——代码实现
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_requestsdef main():# to read standardserves, virtuals, user_requests = Get_data()# processd = daily_situation(serves, virtuals, user_requests)d.Virtual_use()# to write standard outputsys.stdout.flush()if __name__ == "__main__":main()