造福后人
查看原帖
造福后人
235671
fireinice楼主2022/6/16 21:39

数据生成器对拍器,不过这题还算好调

import os
import sys
from random import randint as rd
from random import choice as ch
def gen():
    #分别为序列长度,询问数,值域
    n=400000
    m=400000
    v=400000
    s=f'{n} {m}\n'
    s+=' '.join([str(rd(-v,v)) for _ in range(n)])+'\n'
    for _ in range(m):
        op=rd(1,2)
        l=rd(1,n)
        r=rd(1,n)
        if l>r:
            l,r=r,l
        if op==1:
            s+=f'1 {l} {r} {rd(1,v)}\n'
        else:
            s+=f'2 {l} {r}\n'
    return s

def pai():
    with open('pai.in','w') as f:
        f.write(gen())
    os.system('P5693.exe<pai.in>code1.out')
    os.system('std.exe<pai.in>code2.out')
    return open('code1.out').read()==open('code2.out').read()

def main():
    i=1
    while(pai()):
        print('Pass',i)
        i+=1
    print('Found')

main()
2022/6/16 21:39
加载中...