結果
問題 |
No.769 UNOシミュレータ
|
ユーザー |
![]() |
提出日時 | 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]}"); } }