「TOJ」:修訂間差異
		
		
		
		
		
		跳至導覽
		跳至搜尋
		
				
		
		
	
| 行 9: | 行 9: | ||
== Special Judge ==  | 
  == Special Judge ==  | 
||
將[https://github.com/TFcis/Problem-setting-tools/blob/master/TOJ-problem-example/conf.json conf.json]中的check從diff改成ioredir,及設定metadata如下。  | 
  將[https://github.com/TFcis/Problem-setting-tools/blob/master/TOJ-problem-example/conf.json conf.json]中的check從diff改成ioredir,及設定metadata如下。  | 
||
;/conf.json  | 
|||
<syntaxhighlight lang="JSON">{  | 
  <syntaxhighlight lang="JSON">{  | 
||
    "check": "ioredir",  | 
      "check": "ioredir",  | 
||
| 行 26: | 行 27: | ||
    }  | 
      }  | 
||
}</syntaxhighlight>  | 
  }</syntaxhighlight>  | 
||
;/res/check/check.cpp  | 
|||
分別從答案及輸出分別讀入long double。  | 
|||
<syntaxhighlight lang="C++">  | 
|||
long double Answer, Output;  | 
|||
FILE *ansf = fdopen(2, "r");  | 
|||
scanf("%Lf", &Output);  | 
|||
fscanf(ansf, "%Lf", &Answer);  | 
|||
</syntaxhighlight>  | 
|||
;/res/check/build  | 
|||
<syntaxhighlight lang="Bash">  | 
|||
#!/bin/sh  | 
|||
g++ -o check check.cpp  | 
|||
</syntaxhighlight>  | 
|||
參考 https://hackmd.io/s/BkHdt57I  | 
  參考 https://hackmd.io/s/BkHdt57I  | 
||
於 2021年9月11日 (六) 00:16 的修訂
Special Judge
將conf.json中的check從diff改成ioredir,及設定metadata如下。
- /conf.json
 
{
    "check": "ioredir",
    "metadata": {
        "redir_test": {
            "pipeout": 1,
            "testin": 0,
            "testout": -1,
            "pipein": -1
        },
        "redir_check": {
            "ansin": 2,
            "testin": -1,
            "pipeout": 0,
            "pipein": -1
        }
    }
}
- /res/check/check.cpp
 
分別從答案及輸出分別讀入long double。
long double Answer, Output;
FILE *ansf = fdopen(2, "r");
scanf("%Lf", &Output);
fscanf(ansf, "%Lf", &Answer);
- /res/check/build
 
#!/bin/sh
g++ -o check check.cpp
參考 https://hackmd.io/s/BkHdt57I
參見
- TOJ API:API文檔