def generate_case(): test_data = cyaron.IO(file_prefix="tree", data_id=session['token']) t = cyaron.Graph.tree(random.randint(1000, 10000)) session['queries'] = random.randint(2000, 20000) cnt_edges = len(t.edges) - 1 test_data.input_write(cnt_edges, session['queries']) test_data.input_writeln() test_data.input_writeln(t) data[session['token']] = [] for i in range(session['queries']): query = (random.randint(0, cnt_edges), random.randint(0, cnt_edges)) test_data.input_writeln(query) data[session['token']].append(query) test_data.output_gen('./ans') ans[session['token']] = [] with open('tree' + session['token'] + '.out') as f: for i in f.readlines(): ans[session['token']].append(i) os.remove('./tree' + session['token'] + '.in') os.remove('./tree' + session['token'] + '.out') ret = str(cnt_edges) + ' ' + str(session['queries']) + '\n' ret += t.to_str() + '\n' ret += str(data[session['token']][0][0])+' ' + \ str(data[session['token']][0][1])+'\n' checked[session['token']] = False return ret
def gerenateData(_n): for i in range(0, len(_n)): data_output = cy.IO(file_prefix="data", data_id=i + 1, disable_output=False) data_output.input_writeln(_n[i]) data_output.input_write(cy.Vector.random(_n[i], [(1, 1000)])) data_output.output_gen("mergeSort.exe") # 待测试的排序程序
import random import cyaron n_lst=cyaron.ati([0,1,1,8,8,50,50,1000,1000,10000,10000]) m_lst=cyaron.ati([0,1,8,8,8,50,50,100, 100, 1000, 1000]) for i in range(1,11): test_data=cyaron.IO(file_prefix="divide",data_id=i) n=n_lst[i] m=m_lst[i] bjmax=min(m//4,10) if bjmax<1: bjmax=1 bjmin=max(1,bjmax//10) wmax=max(n/m*3//2,1) if i==5: bjmax=1 if bjmin>bjmax: bjmin=bjmax test_data.input_writeln(n,m) w=[random.randint(1,wmax) for i in range(m)] if sum(w)<n: w[random.randint(0,len(w)-1)]+=n-sum(w) test_data.input_writeln(w)
import cyaron import random n_lst=cyaron.ati([0,15,13,14,15,5e3,5e3,5e3,5e5,5e5,5e5]) m_lst=cyaron.ati([0,1, 13,14,15,5e3,5e3,5e3,5e5,5e5,5e5]) for i in range(1,11): test_data=cyaron.IO(file_prefix="vote",data_id=i) n=n_lst[i] m=m_lst[i] test_data.input_writeln(n,m) w=cyaron.Vector.random(num=n,position_range=[(1,2000)],mode=1) test_data.input_writeln(w) for i in range(n): x=random.choice((1,2,3,4)) if x==1 or x==2: y=random.randint(1,m) else: y=random.randint(0,m) test_data.input_writeln(x,y) #test_data.output_gen("D:/OI/Problems/Hanakiko_daily_1/data/vote/std.exe")
import cyaron example_datas = [1, 2] secret_datas = list(range(3, 51)) for i in enumerate(example_datas): test_data = cyaron.IO(file_prefix="moore_example_", data_id=i[0], output_suffix=".ans") test_data.input_writeln(i[1]) test_data.output_gen("std.exe") for i in enumerate(secret_datas): test_data = cyaron.IO(file_prefix="moore_secret_", data_id=i[0], output_suffix=".ans") test_data.input_writeln(i[1]) test_data.output_gen("std.exe")
('0' * 100, 100), ('01' * 50, 0), ('01' * 50, 1), ('01' * 50, 2), ('1100' * 25, 0), ('1100' * 25, 1), ('1100' * 25, 2), ('1100' * 25, 3), ('1' * 50 + '0' + '1' * 49, 100), ('1' * 50 + '0' + '1' * 49, 49), ('1' * 50 + '0' + '1' * 49, 50), ('1' * 50 + '0' + '1' * 49, 0), ] for i in range(len(example_datas)): test_data = cyaron.IO(file_prefix="crack_example_", data_id=i, output_suffix=".ans") n = len(example_datas[i][0]) m = example_datas[i][1] s = example_datas[i][0] test_data.input_writeln(n, m) test_data.input_writeln(s) test_data.output_gen("std.exe") for i in range(len(datas)): test_data = cyaron.IO(file_prefix="crack_hidden_", data_id=i, output_suffix=".ans") n = len(datas[i][0]) m = datas[i][1] s = datas[i][0]
import cyaron as cy n = [7, 20, 30] m = [20, 40, 60] for i in range(3): data_output = cy.IO(file_prefix="data", data_id=i + 1, disable_output=False) data_output.input_writeln(n[i], m[i]) graph = cy.Graph.graph(n[i], m[i], directed=False, weight_limit=(2, 10)) #建立n个点m条边的边权范围在2.10的有向图 data_output.input_write(graph) data_output.output_gen("Dijkstra.exe") cy.Compare.program("Dijkstra.exe", input=data_output, std_program="SPFA.exe")