2021华为软挑部分答疑——哪些你有错却总是找不到的地方,我来带你找啦(含标准输入代码)

前期工作:

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_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()

猜你喜欢

转载自blog.csdn.net/crazy_girl_me/article/details/115089250