結果
| 問題 |
No.769 UNOシミュレータ
|
| コンテスト | |
| ユーザー |
keymoon
|
| 提出日時 | 2019-04-19 13:53:03 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
AC
|
| 実行時間 | 119 ms / 2,000 ms |
| コード長 | 1,924 bytes |
| コンパイル時間 | 3,576 ms |
| コンパイル使用メモリ | 106,368 KB |
| 実行使用メモリ | 23,256 KB |
| 最終ジャッジ日時 | 2024-11-22 09:18:13 |
| 合計ジャッジ時間 | 3,405 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 23 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;
using System.IO;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Numerics;
using System.Threading.Tasks;
using System.Text.RegularExpressions;
using static System.Math;
using Debug = System.Diagnostics.Debug;
using MethodImplOptions = System.Runtime.CompilerServices.MethodImplOptions;
using MethodImplAttribute = System.Runtime.CompilerServices.MethodImplAttribute;
static class P
{
static void Main()
{
var nm = Console.ReadLine().Split().Select(int.Parse).ToArray();
int n = nm[0];
int m = nm[1];
int[] cardCount = new int[n];
int turn = 0;
int turnOrder = 1;
int last = 0;
int streak = 0;
int streakedNum = 0;
foreach (var item in Enumerable.Repeat(0, m).Select(_ => Console.ReadLine()))
{
if (streakedNum != 0)
{
if ((streakedNum == 2 && item != "drawtwo") || (streakedNum == 4 && item != "drawfour"))
{
cardCount[turn] -= streakedNum * streak;
streak = 0;
streakedNum = 0;
turn = (turn + turnOrder + n) % n;
}
}
last = turn;
cardCount[turn]++;
if (item == "skip")
{
turn = (turn + turnOrder + n) % n;
}
if (item == "reverse")
{
turnOrder *= -1;
}
if (item == "drawtwo")
{
streak++;
streakedNum = 2;
}
if (item == "drawfour")
{
streak++;
streakedNum = 4;
}
//ターン変更
turn = (turn + turnOrder + n) % n;
}
Console.WriteLine($"{last + 1} {cardCount[last]}");
}
}
keymoon