ACM OI 對拍模板

FOR ACM OI

在Linux的shell腳本對拍命令

執行方法:在終端下,進入當前目錄,輸入”sh ./nick.sh”,(其中nick.sh爲當前shell腳本名)

ubuntu14.04下實測成功

while true; do
./make>tmp.in #出數據
./tmp<tmp.in>tmp.out #被測程序
./tmp2<tmp.in>tmp2.out #正確(暴力)程序
if diff tmp.out tmp2.out; then #比較兩個輸出文件
printf AC #結果相同顯示AC
else
echo WA #結果不同顯示WA,並退出
#cat tmp.out tmp2.out
exit 0
fi #if的結束標誌,與C語言相反,0爲真
done # while的結束標誌

#BY NICK WONG 2014-08-29
#在終端下,進入當前目錄,輸入"sh ./nick.sh",(其中nick.sh爲當前shell腳本名) '#'表示單行註釋
#diff在兩文件相同時返回空串

參考1:貼吧的討論:http://tieba.baidu.com/p/1748233229

參考2:ACM OI windows對拍模板 (詳細註釋版)

    @echo off  
    :ac  

    e-make>e.in  :出數據  
    e-3<e.in>e.out    :被測程序  
    e-2<e.in>e.out2   :暴力程序  
    fc e.out e.out2  
    :diff -q e.out e.out2 這句可以代替上一句  
    if errorlevel=1 goto wa       
    echo ac  
    goto ac  

    :wa  
    echo wa  
    :type e.out e.out2 :這句可有可無  
    pause  

    退出狀態  
      此命令返回下列退出值:  
      0 未找到不同處。  
      1 找到不同處。  
      >1 發生錯誤。  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章