zoukankan      html  css  js  c++  java
  • 数据生成python脚本

    下面是项目结构:

    --data 存放数据的文件夹
    
    --main.cpp 题目的正确数据
    
    --prodData.py  生成输入输出数据脚本
    
    --test.cpp    测试代码
    
    --testData.py  测试代码是否正确脚本

    prodData.py

    #-*- coding:utf-8 -*-
    
    '''
    @auther: Starry
    @file: prodData.py
    @time: 2018/1/17 15:47
    '''
    
    import random
    import os
    
    DATASIZE = 10
    
    '''
    每个数据一组数据
    '''
    for i in range(DATASIZE):
        print('The %dth set of test data is being produced.' % i)
        with open('./data/test'+str(i)+'.in','w',encoding='utf-8') as f:
            N = random.randint(1, 100000)
            M = random.randint(1, 100000)
            f.write(str(N)+' '+str(M)+'
    ')
            for j in range(M):
                a = random.randint(1,10000)
                b = random.randint(1,10000)
                c = random.randint(1,200)
                f.write(str(a)+' '+str(b)+' '+str(c)+'
    ')
        with open('./data/test'+str(i)+'.out','w',encoding='utf-8') as f:
            pass
        os.system('g++ -std=c++11 main.cpp -o main')
        os.system('main < data\test'+str(i)+'.in >> data\test'+str(i)+'.out')
    
    '''
    多组数据 0 结束
    '''
    
    # for i in range(DATASIZE):
    #     print('The %dth set of test data is being produced.'%i)
    #     with open('./data/test'+str(i)+'.in','w',encoding='utf-8') as f:
    #         while True:
    #             N = random.randint(-70,1000)
    #             if N <= 0:
    #                 f.write(str(0)+'
    ')
    #                 break
    #             f.write(str(N)+'
    ')
    #             for j in range(N):
    #                 a = random.randint(1,50)
    #                 f.write(str(a)+' ')
    #             f.write('
    ')
    #             M = random.randint(0,1000)
    #             f.write(str(M)+'
    ')
    #     with open('./data/test'+str(i)+'.out','w',encoding='utf-8') as f:
    #         pass
    #     os.system('g++ -std=c++11 main.cpp -o main')
    #     os.system('main < data\test'+str(i)+'.in >> data\test'+str(i)+'.out')
    
    
    '''
    多组数据
    '''
    
    # for i in range(DATASIZE):
    #     print('The %dth set of test data is being produced.' % i)
    #     with open('./data/test'+str(i)+'.in','w',encoding='utf-8') as f:
    #         for j in range(random.randint(1,20)):
    #             N = random.randint(1, 100)
    #             M = random.randint(1, 100)
    #             K = random.randint(1, 100)
    #             S = random.randint(1, 100)
    #             f.write(str(N)+' '+str(M)+' '+str(K)+' '+str(S)+'
    ')
    #             for k in range(K):
    #                 a = random.randint(1,20)
    #                 b = random.randint(1,20)
    #                 f.write(str(a)+' '+str(b)+'
    ')
    #     with open('./data/test'+str(i)+'.out','w',encoding='utf-8') as f:
    #         pass
    #     os.system('g++ -std=c++11 main.cpp -o main')
    #     os.system('main < data\test'+str(i)+'.in >> data\test'+str(i)+'.out')

    testData.py

    #-*- coding:utf-8 -*-
    
    '''
    @auther: Starry
    @file: testData.py
    @time: 2018/1/17 15:46
    '''
    
    import os
    
    DATASIZE = 10
    
    os.system('g++ test.cpp -o test')
    WA = False
    for i in range(DATASIZE):
        print('The %dth set of data is being tested.'%i)
        os.system('test < data\test'+str(i)+'.in > te.out')
        flag = os.system('fc data\test'+str(i)+'.out te.out > nul')
        if flag != 0:
            print('Wrong answer on test'+str(i)+'.in!!!')
            WA = True
    
    if not WA:
        print("Accepted!!!")
  • 相关阅读:
    分享两个你可能不知道的Java小秘密
    一次ssl的手动实现——加密算法的简单扫荡
    TCP/IP中最高大上的链路层简介(二)
    与TCP/IP协议的初次见面(一)
    高并发下的九死一生,一个不小心就掉入万丈深渊
    杂谈---一个项目经理的自我反省
    浅谈程序员的行业选择---程序人生
    杂谈---大压力下的工作
    一个有意思的需求——中文匹配度
    杂谈---一个人的两种心理
  • 原文地址:https://www.cnblogs.com/xingkongyihao/p/8316096.html
Copyright © 2011-2022 走看看