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
RE × 3
RE × 20
RE × 40
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