結果
| 問題 | No.429 CupShuffle | 
| コンテスト | |
| ユーザー |  mban | 
| 提出日時 | 2016-10-12 02:09:56 | 
| 言語 | C#(csc) (csc 3.9.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 188 ms / 2,000 ms | 
| コード長 | 1,650 bytes | 
| コンパイル時間 | 967 ms | 
| コンパイル使用メモリ | 112,008 KB | 
| 実行使用メモリ | 37,120 KB | 
| 最終ジャッジ日時 | 2024-11-22 02:04:36 | 
| 合計ジャッジ時間 | 2,805 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 16 | 
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
class Magatro
{
    static int N, K, X;
    static string[] A, B;
    static int[] C;
    static void Main()
    {
        int[] q = Console.ReadLine().Split(' ').Select(s => int.Parse(s)).ToArray();
        N = q[0];
        K = q[1];
        X = q[2];
        A = new string[K];
        B = new string[K];
        for (int i = 0; i < K; i++)
        {
            string[] s = Console.ReadLine().Split(' ');
            A[i] = s[0];
            B[i] = s[1];
        }
        C = Console.ReadLine().Split(' ').Select(s => int.Parse(s)).ToArray();
        int[] start = new int[N];
        for (int i = 1; i <= N; i++)
        {
            start[i-1] = i;
        }
        for (int i = 0; A[i] != "?"; i++)
        {
            int d = start[int.Parse(A[i])-1];
            start[int.Parse(A[i])-1] = start[int.Parse(B[i])-1];
            start[int.Parse(B[i])-1] = d;
        }
        for (int i = K - 1; A[i] != "?"; i--)
        {
            int d = C[int.Parse(A[i])-1];
            C[int.Parse(A[i])-1] = C[int.Parse(B[i])-1];
            C[int.Parse(B[i])-1] = d;
        }
        int cnt = 0;
        for (int i = 0; i < N; i++)
        {
            
            if (start[i] != C[i])
            {
                if (cnt == 0)
                {
                    Console.Write(i + 1 + " ");
                }
                else
                {
                    Console.Write(1 + i);
                }
            }
            
          //  Console.WriteLine(start[i] + " " + C[i]);
        }
    }
}
            
            
            
        