因為我相信有很多人都解到了然後想出題,所以就寫了這個神奇東西
這裡分成六個部分講:
反正這些弄完你就有題目的本身了,剩下就是要丟到上了
注意,不要出的題目種類:
當然如果要出教學類的題目,出水題就滿必要的,不要太水就好
相信大家是可以想出一個不是爛的的題目
那剩下的就是出到上了
有後點這裡就可以拿到出題資格
)
)
進去之後就會分成好幾個區域
主要可以分成四大區域:左、右上、右中、右下
依序會看到的是:
左邊的部分你只要把題目打進去就可以了,很簡單
之後可以把一些數學式子用變得更漂亮(下面會教)
最上面方形區域(用的到的我才講):
剩下的自己看應該很簡單
然後記得要儲存設定
補充,如果要卡掉的程式碼:
有些題目要卡掉的強大運算能力(大數、…)
可以把記憶體限制改成
上傳測資的地方
生測資的方法:手打 or 用程式生(下面會教)
反正不管用哪個,測資的部分有幾個重要的地方
寫的地方
一般不會碰到,要自己寫判斷程式時才會用到(下面會教)
沒在用時就空著就好
簡單來說就是自己寫一個隨機產生器、並套上自己的格式
先來說隨機生成的部分
這些是生成隨機資料時主要會用到的東西
補充:
srand(time(0))
建議放在main
的第一行,因為之後呼叫的rand()
需要在srand
的後面,然後srand(time(0))
宣告了一次過後就不用再寫一次了(反正就是他呼叫過後之後都會是以time(0)
為生成種子)
接下來是輸入輸出流的改變的部分
因為我們要生成的是文字檔案,所以要讀入的東西不會是cin
,輸出的東西有不會是cout
所以我們要把讀入跟讀出的檔案替代掉標準輸入(stdin
)跟標準輸出(stdout
)
我們會用到freopen(A, B, C)
其中:
A = 用來代替的檔案,資料型態為char*
,所以要在原本的字串外面包一層("...").c_str()
才能傳進去
B = 讀入(r
) 或 寫入(w
)
C = 要代替掉的檔案
其中的所有組合中我們會用到的只有三個:
freopen(...)
執行了一次過後就之後都會是以那個檔案代替掉標準輸入輸出流,但因為有時候會生成多筆測資,所以可以用不同的檔案直接再宣告一次就可以更新成用新的檔案代替輸入輸出流
然後因為stdout
被取代,所以如果要輸出一些訊息給自己看的話就要用cerr
,用法跟cout
一樣
如果想要cin
或cout
再次起作用,就用freopen("CON", "r", stdin)
或freopen("CON", "w", stdout)
把endl
換成"\n"
會生得比較快
最近發現一個更好用和直觀的方法,雖然很毒
直接建名為cin
跟cout
的fstream
就好了
所以整體下來步驟為
例:
如果以a658為生成範例
因為這題有三個側資點,所以freopen
的更新要放在for
裡一次更新三個不同組輸入輸出檔
可以這樣寫:
在題目中看到的橘橘的,很漂亮的字,就是用寫的
整體就是用$
包住頭尾,然後裡面寫自己的語法
整體可以用的語法可以看
https://hackmd.io/@RintarouTW/LaTeX_語法筆記 (這裡的應該都可以用到上)
跟
https://www.cnblogs.com/Coolxxx/p/5982439.html (這裡的大部分都可以)
整體要注意的東西有:
$
的右邊&右$
的左邊不能有空格\
後面加一的空格\\
,讓他換行(最後一行除外)Shift+Enter
,讓整個在同個html
段落裡$$
包起來差不多會長這樣:
建議:
先在上打過一遍,確定可行再複製到上
注意:
在如果要讓他觸發
把選起來然後把全部的點掉(可以留)
如果還是不行就直接先貼到記事本裡再複製貼上回來
神奇的優化:
(2024/8/11 補充:我發現一個很簡單把字變成黑色的方法
只要對LaTeX點右鍵之後點底下的東西
之後所有LaTeX都會變成沒有側線的圖片
也可以試試點其他選項
或是用我下面那有些複雜的方法)
如果有人覺得橘色很醜
可以在全部的外面包上
這裡的#333333
是字體色號,可以自己改成喜歡的
這樣就是黑的
但因為每個都要打這麼多字才能包起來很麻煩
所以可以用中的功能
可以在內容的第一行打上這個
在這以下的東西都可以用\bk
來代替\color{#333333}
當然你也可以把bk
改成其他名稱
雖然這樣會留下一個.
的痕跡,但只要在同一行打字就幾乎可以蓋掉
但是又有一個問題,就是右邊那一個豎槓,很醜
所以有一個極為神奇的方法可以把它弄掉
這種方法又麻煩又有很大的副作用
使用前要三思
沒錯,要改
反正就是要把$
包起來的地方
再用<font color=white>...</font>
包起來
變這樣,儲存之後你會發現字都變白的
對,這就是他很大的副作用
但那條線就消失了,漂亮多了
然後如果真的要這樣手動改的話真的會改到死
所以我就直接丟程式碼:
使用方法:
ctrl+z
讓DOS
執行終止然後如果想把變白色的的東西變回來
全選後點這邊就可以了
所以真的先在上寫好再弄上去是會好的方法
就是要自己寫評斷方式
上面有寫一個一個說明,但是範例是的所以應該有很多人就放棄了
這裡先丟一個c++
範例
反正比較重要的就只有:
argv[1]
是標準輸入檔,argv[2]
是標準輸出檔,argv[3]
是使用者輸出檔freopen
了,因為有超過一個要讀入的輸入流,直接宣告fstream
會比較好(寫法跟用法就在上面,其他寫法歡迎google
)c++
好像是c++98
,代表不能用for(auto &i : arr)
這種或其他東西喔對這題是a836
補充:
在正常情況下是看不到上傳者的程式碼本身的,
所有想要寫那種要看別人程式碼裡面東西的題目的可以死心了
然後中用不到的檔案可以空著沒關係
關於某些東西的模板
可以看這裡:https://hackmd.io/@chrislaiisme/templates
(新版:https://chrislaiisme.github.io/templates/)(點進去先重新整理畫面)
只是我生測資的模板應該滿難懂的,但好用
剩下就加油了,相信各位都可以出出優質的好題
(P.S. 現在是凌晨3點,我在吃美味蟹堡)