結果
| 問題 |
No.429 CupShuffle
|
| コンテスト | |
| ユーザー |
wowilson
|
| 提出日時 | 2016-10-13 04:52:01 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
AC
|
| 実行時間 | 170 ms / 2,000 ms |
| コード長 | 1,885 bytes |
| コンパイル時間 | 1,974 ms |
| コンパイル使用メモリ | 109,620 KB |
| 実行使用メモリ | 35,584 KB |
| 最終ジャッジ日時 | 2024-11-22 02:33:56 |
| 合計ジャッジ時間 | 3,857 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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;
namespace Yukicoder
{
class Program
{
static void Main(string[] args)
{
var s = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();
int N = s[0];
int K = s[1];
int X = s[2];
List<int> before = new List<int>();
List<int> after = new List<int>();
List<int[]> swapList = new List<int[]>();
for (int i = 0; i < N; i++)
{
before.Add(i + 1);
}
for (int j = 0; j < K; j++)
{
if (j == X - 1)
{
Console.ReadLine(); //X
int[] tmp = { 0, 0 };
swapList.Add(tmp);
continue;
}
var index = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();
swapList.Add(index);
}
after.AddRange(Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray());
for (int i = 0; i < X - 1; i++)
{
Swap(swapList[i][0] - 1, swapList[i][1] - 1, before);
}
for (int i = K - 1; i >= X; i--)
{
Swap(swapList[i][0] - 1, swapList[i][1] - 1, after);
}
List<int> result = new List<int>();
for (int i = 0; i < N; i++)
{
if (before[i] != after[i])
{
result.Add(i + 1);
}
}
Console.WriteLine(result[0] + " " + result[1]);
}
static void Swap(int a, int b, List<int> list)
{
int tmp;
tmp = list[a];
list[a] = list[b];
list[b] = tmp;
}
}
}
wowilson