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']}")
本文来自博客园,作者:caijianhong,转载请注明原文链接:https://www.cnblogs.com/caijianhong/p/18660648
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架