寫在前面 noi 風格的互動題就是通過函式呼叫實現互動。我們假設題目的名字叫做 "test",那麼通常乙個互動系統中需要這樣的幾個檔案: 這篇文章寫在聯合省選 2022 兩天後。筆者此前造互動題時發現全網都搜不到好上手的教程。筆者意識到自己進集訓隊的可能性為 \(0\),打算寫一篇部落格,在退役之前留下真正有用的東西。
under lemon
under loj(舊版)
舊版 loj 處理 noi 風格互動題,筆者只會一種雞賊的辦法。思路是將這道題設定為傳統題 - special judge,並通過 special judge 充當評分的角色。而grader.cpp
中的內容將會被封裝到test.h
中。(根據合理的推測,將題目設定為互動題,並同樣將grader.cpp
中的內容封裝到test.h
中,且使用下一節中的方法編寫data.yml
,也可能成功實現。但筆者此時缺少驗證的條件。)下面詳細介紹所需要的每乙個檔案。
under loj(新版)
鑑於筆者沒有這樣的經驗,這裡提供鏈結 評測設定 #6 - libreoj,相信讀者一定可以參考該題目學會。
cf 風格的互動題就是通過標準輸入輸出流實現互動。很遺憾 lemon lime 並不支援這樣的互動方式,因此以下僅針對舊版 loj 進行說明。(polygon?沒聽說過) 在這套系統中需要test.cpp
(選手提交),grader.cpp
和data.yml
。
手動造資料指南
自己出了一道題,如何給它造資料呢?首先,你要有標程,也就是 texttt 這樣你才能給自己的輸入資料生成乙個正確的輸出資料。然後,你要有生成資料的程式,也就是 texttt 詳見part 2。大多數 texttt 的原理都是隨機生成的,而 texttt 可以按照模板來打,例如隨機生成乙個數列 執行前...
codeforce刷題 互動題
打codeforces第二週 又遇到了很多有意思的題型,可自己還是太菜了 寫份部落格記錄一下憨憨的自己 做的第一道互動題,記錄一下 this is an interactive problem.這是一道互動題 你通過列印問題詢問他,他給你結果,讓你找到最終的陣列 需要清除快取區,才能保證正確,否則就...
互動題訓練1
一道經典的題目便是猜數字。codeforces 1011d rocket 不過,這裡面的人有可能撒謊,即大於有可能說成小於,小於有可能說成大於。好在,它們說真假話為n個乙個週期。即第i ii次說假話當且僅當imo dn i mod n imod n時說假話。真話同理。猜的數在 1,1e9 內。n 3...