tuack 配置文件转 uoj 配置文件

#!/bin/env python3
from tuack import base
from os import system
base.init()
name = "printer"
def lndata(src, dst):
    system(f"ln -snf {src}.in {dst}.in")
    system(f"ln -snf {src}.ans {dst}.out")
system(f"cp statements/ccc/{name}.md uoj/statement.md")
system(f"cp solution/zh-cn.md uoj/solution.md")
system(f"cp yuki/std.cpp uoj/std.cpp")
with open("uoj/problem.conf", "w") as __import__("sys").stdout:
    n_tests = 0
    for datum in base.conf["data"]:
        n_tests += len(datum["cases"])
    n_ex_tests = 0
    cnt = 0
    for datum in base.conf["samples"]:
        n_ex_tests += len(datum["cases"])
        for i in datum["cases"]:
            cnt += 1
            lndata(f"../down/{i}", f"uoj/ex_{name}{cnt}")
    print(f"n_tests {n_tests}")
    print(f"n_ex_tests {n_ex_tests}")
    print(f"n_sample_tests {n_ex_tests}")
    print(f"input_pre {name}")
    print(f"input_suf in")
    print(f"output_pre {name}")
    print(f"output_suf out")
    print(f"time_limit {2}") # manual
    print(f"memory_limit {512}") # manual
    print(f"output_limit 64")
    print(f"use_builtin_judger on")
    print(f"use_builtin_checker ncmp")
    print( "n_subtasks {}".format(len(base.conf["data"])))
    cnt = 0
    subid = 0
    for datum in base.conf["data"]:
        for i in datum["cases"]:
            cnt += 1
            lndata(f"../data/{i}", f"uoj/{name}{cnt}")
        subid += 1
        print(f"subtask_end_{subid} {cnt}")
        print(f"subtask_score_{subid} {datum['score']}")
posted @   caijianhong  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示