Submission #1176127
Source Code Expand
<?php //define('DEBUG', TRUE); define('DEBUG', FALSE); // 通り数(階乗計算) $intFactorial = 1; if (DEBUG) { ini_set('display_errors', 'On'); ini_set('error_reporting', E_ALL & ~E_NOTICE); $time_s = getTime(); } # 読み込み fscanf(STDIN, "%d", $N); for ($i = 0; $i < $N; $i++) { fscanf(STDIN, "%d", $C[$i]); } //var_dump($C); //exit; $arrPerm = array(); for ($i = 0; $i < $N; $i++) { $arrPerm[$i] = $i; $intFactorial *= ($i+1); } $arrFlagModel = array_fill(0, $N, 1); // 表になったコインの通算枚数 $intCoin = 0; while(TRUE) { //echo implode(" ", $arrPerm) . PHP_EOL; $arrProblem = array(); for ($i = 0; $i < $N; $i++) { $arrProblem[$i] = $C[$arrPerm[$i]]; } //if (DEBUG) echo implode(" ", $arrProblem) . PHP_EOL; $arrFlag = $arrFlagModel; for ($i = 0; $i < $N-1; $i++) { for ($j = $i+1; $j < $N; $j++) { /* if (DEBUG) { echo "j:{$arrProblem[$j]} "; echo "i:{$arrProblem[$i]} "; $kotae = $arrProblem[$j] % $arrProblem[$i]; echo var_dump($kotae) . PHP_EOL; if ($arrProblem[$j] % $arrProblem[$i] === 0) { echo "TRUE"; } else { echo "FALSE"; } echo "\n"; } */ $arrFlag[$j] = ($arrProblem[$j] % $arrProblem[$i] === 0) ? !$arrFlag[$j] : $arrFlag[$j]; } //if (DEBUG) echo "totyuu:".implode(" ", $arrFlag) . PHP_EOL; } //if (DEBUG) echo implode(" ", $arrFlag) . PHP_EOL; //if (DEBUG) echo "SCORE=" . array_sum($arrFlag) . PHP_EOL; $intCoin += array_sum($arrFlag); if (!next_perm(&$arrPerm)) break; } if (DEBUG) echo "Coin:{$intCoin} Fract:{$intFactorial}\n"; echo $intCoin / $intFactorial; echo PHP_EOL; if (DEBUG) echo "FINISH\n"; if (DEBUG) { $time_f = getTime(); printf("time = %1.3f sec \n", $time_f - $time_s); } function getTime() { list($usec, $sec) = explode(" ", microtime()); $f_sec = (float)$usec + (float)$sec; if (DEBUG) echo $f_sec . "\n"; return $f_sec; } function next_perm($arr) { $score = 0; $arrCount = count($arr); for ($i = 1; $i < $arrCount; $i++) { if ($arr[$arrCount-$i] < $arr[$arrCount-$i-1]) { $score = $i; } else { break; } } if ($score == $arrCount - 1) { return FALSE; } for ($i = $arrCount - $score - 2 ; $i < $arrCount; $i++) { $arrData[] = $arr[$i]; } sort($arrData); $target = array_search($arr[$arrCount - $score - 2], $arrData); $arr[$arrCount - $score - 2] = $arrData[$target+1]; unset($arrData[$target+1]); foreach ($arrData as $v) { $score--; $arr[$arrCount - $score - 2] = $v; } return TRUE; }
Submission Info
Submission Time | |
---|---|
Task | C - コイン |
User | takepan |
Language | PHP7 (7.0.15) |
Score | 0 |
Code Size | 3241 Byte |
Status | RE |
Exec Time | 9 ms |
Memory | 4604 KB |
Compile Error
PHP Parse error: syntax error, unexpected '&' in ./Main.php on line 82
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 99 | 0 / 1 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt |
Subtask1 | subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt |
Subtask2 | subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask2_13.txt, subtask2_14.txt, subtask2_15.txt, subtask2_16.txt, subtask2_17.txt, subtask2_18.txt, subtask2_19.txt, subtask2_20.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | RE | 9 ms | 4604 KB |
sample_02.txt | RE | 9 ms | 4604 KB |
sample_03.txt | RE | 9 ms | 4604 KB |
subtask1_01.txt | RE | 9 ms | 4604 KB |
subtask1_02.txt | RE | 9 ms | 4604 KB |
subtask1_03.txt | RE | 9 ms | 4604 KB |
subtask1_04.txt | RE | 9 ms | 4604 KB |
subtask1_05.txt | RE | 9 ms | 4604 KB |
subtask1_06.txt | RE | 9 ms | 4604 KB |
subtask1_07.txt | RE | 9 ms | 4604 KB |
subtask1_08.txt | RE | 9 ms | 4604 KB |
subtask1_09.txt | RE | 9 ms | 4604 KB |
subtask1_10.txt | RE | 9 ms | 4604 KB |
subtask1_11.txt | RE | 9 ms | 4604 KB |
subtask1_12.txt | RE | 9 ms | 4604 KB |
subtask1_13.txt | RE | 9 ms | 4604 KB |
subtask1_14.txt | RE | 9 ms | 4604 KB |
subtask1_15.txt | RE | 9 ms | 4604 KB |
subtask1_16.txt | RE | 9 ms | 4604 KB |
subtask1_17.txt | RE | 9 ms | 4604 KB |
subtask1_18.txt | RE | 9 ms | 4604 KB |
subtask1_19.txt | RE | 9 ms | 4604 KB |
subtask1_20.txt | RE | 9 ms | 4604 KB |
subtask2_01.txt | RE | 9 ms | 4604 KB |
subtask2_02.txt | RE | 9 ms | 4604 KB |
subtask2_03.txt | RE | 9 ms | 4604 KB |
subtask2_04.txt | RE | 9 ms | 4604 KB |
subtask2_05.txt | RE | 9 ms | 4604 KB |
subtask2_06.txt | RE | 9 ms | 4604 KB |
subtask2_07.txt | RE | 9 ms | 4604 KB |
subtask2_08.txt | RE | 9 ms | 4604 KB |
subtask2_09.txt | RE | 9 ms | 4604 KB |
subtask2_10.txt | RE | 9 ms | 4604 KB |
subtask2_11.txt | RE | 9 ms | 4604 KB |
subtask2_12.txt | RE | 9 ms | 4604 KB |
subtask2_13.txt | RE | 9 ms | 4604 KB |
subtask2_14.txt | RE | 9 ms | 4604 KB |
subtask2_15.txt | RE | 9 ms | 4604 KB |
subtask2_16.txt | RE | 9 ms | 4604 KB |
subtask2_17.txt | RE | 9 ms | 4604 KB |
subtask2_18.txt | RE | 9 ms | 4604 KB |
subtask2_19.txt | RE | 9 ms | 4604 KB |
subtask2_20.txt | RE | 9 ms | 4604 KB |