結果
| 問題 | No.429 CupShuffle | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2016-10-03 09:19:09 | 
| 言語 | PHP (843.2) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 150 ms / 2,000 ms | 
| コード長 | 892 bytes | 
| コンパイル時間 | 1,186 ms | 
| コンパイル使用メモリ | 30,932 KB | 
| 実行使用メモリ | 71,436 KB | 
| 最終ジャッジ日時 | 2024-11-21 15:07:29 | 
| 合計ジャッジ時間 | 2,868 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 16 | 
コンパイルメッセージ
No syntax errors detected in Main.php
ソースコード
<?php
list($n, $k, $x) = explode(" ",trim(fgets(STDIN)));
$start = range(1, $n);
$manipulate = [];
for($i = $k;$i;$i--)
{
    $manipulate[] = explode(" ",trim(fgets(STDIN)));
}
$goal = explode(" ",trim(fgets(STDIN)));
$start = exchange($start, array_slice($manipulate,0,$x - 1));
$goal = exchange($goal, array_reverse(array_slice($manipulate,$x)));
$diff = diff($start, $goal);
sort($diff);
echo (implode(" ",$diff)).PHP_EOL;
function exchange($base, $acts)
{
    foreach($acts as $act)
    {
        $a = $act[0]-1; //num to index
        $b = $act[1]-1; //num to index
        $tmp = $base[$b];
        $base[$b] = $base[$a];
        $base[$a] = $tmp;
    }
    return $base;
}
function diff($a, $b)
{
    $res=[];
    $len = count($a);
    for($i=0;$i < $len;$i++)
    {
        if($a[$i] != $b[$i])
        {
            $res[] = $i+1; //index to num
        }
    }
    return $res;
}
            
            
            
        