Submission #8550461
Source Code Expand
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; using static System.Console; using static System.Math; using static MyIO; using static MyUtil; public class C { public static void Main() => (new Solver()).Solve(); } public class Solver { public void Solve() { string S = GetString(); var good = new Regex(@"o+ookayama", RegexOptions.Compiled); var small = new Regex("oo", RegexOptions.Compiled); var capital = new Regex("OO", RegexOptions.Compiled); int state = 1; string T = ""; int iT = -1; while(true) { switch(state) { case 1: var matches = good.Matches(S); if(matches.Count == 0) { WriteLine(S); return; } int max = 0; foreach(Match match in matches) { if(match.Length > max) { max = match.Length; T = match.Value; iT = match.Index; } } state = 3; break; case 3: if(T.IndexOf("oo") != -1) { string U = small.Replace(T, "O", 1); var regex = new Regex(T); S = regex.Replace(S, U, 1, iT); T = U; state = 4; } else { state = 1; } break; case 4: if(T.IndexOf("OO") != -1) { string U = capital.Replace(T, "o", 1); var regex = new Regex(T); S = regex.Replace(S, U, 1, iT); T = U; } state = 3; break; } } } } public static class MyIO { private static string[] args = null; private static int num = -1; private static int used = -1; private static string getArg() { if(used == num) { args = Console.ReadLine().Split(' '); num = args.Length; used = 0; } return args[used++]; } public static int GetInt() => int.Parse(getArg()); public static long GetLong() => long.Parse(getArg()); public static double GetDouble() => double.Parse(getArg()); public static string GetString() => getArg(); public static char GetChar() => getArg()[0]; public static int[] GetInts(int N) => Enumerable.Range(0, N).Select(_ => GetInt()).ToArray(); public static long[] GetLongs(int N) => Enumerable.Range(0, N).Select(_ => GetLong()).ToArray(); public static double[] GetDoubles(int N) => Enumerable.Range(0, N).Select(_ => GetDouble()).ToArray(); public static string[] GetStrings(int N) => Enumerable.Range(0, N).Select(_ => GetString()).ToArray(); } public static class MyUtil { public static void chmax<T>(ref T x, T y) where T : IComparable<T> { if(x.CompareTo(y) < 0) x = y; } public static void chmin<T>(ref T x, T y) where T : IComparable<T> { if(x.CompareTo(y) > 0) x = y; } public static void swap<T>(ref T x, ref T y) { T tmp = x; x = y; y = tmp; } }
Submission Info
Submission Time | |
---|---|
Task | C - おおおかやま |
User | DM7PvTyc |
Language | C# (Mono 4.6.2.0) |
Score | 50 |
Code Size | 2889 Byte |
Status | AC |
Exec Time | 61 ms |
Memory | 16200 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 50 / 50 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 00_example_04.txt, 00_example_05.txt |
All | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 00_example_04.txt, 00_example_05.txt, 05_rand_01.txt, 05_rand_02.txt, 05_rand_03.txt, 05_rand_04.txt, 05_rand_05.txt, 05_rand_06.txt, 05_rand_07.txt, 05_rand_08.txt, 05_rand_09.txt, 05_rand_10.txt, 05_rand_11.txt, 05_rand_12.txt, 05_rand_13.txt, 05_rand_14.txt, 05_rand_15.txt, 10_single_01.txt, 10_single_02.txt, 10_single_03.txt, 10_single_04.txt, 10_single_05.txt, 10_single_06.txt, 10_single_07.txt, 10_single_08.txt, 10_single_09.txt, 10_single_10.txt, 15_multiple_01.txt, 15_multiple_02.txt, 15_multiple_03.txt, 15_multiple_04.txt, 15_multiple_05.txt, 15_multiple_06.txt, 15_multiple_07.txt, 15_multiple_08.txt, 20_rand_multiple_01.txt, 20_rand_multiple_02.txt, 20_rand_multiple_03.txt, 20_rand_multiple_04.txt, 20_rand_multiple_05.txt, 20_rand_multiple_06.txt, 20_rand_multiple_07.txt, 20_rand_multiple_08.txt, 20_rand_multiple_09.txt, 20_rand_multiple_10.txt, 30_rand_ooo_multiple_01.txt, 30_rand_ooo_multiple_02.txt, 30_rand_ooo_multiple_03.txt, 30_rand_ooo_multiple_04.txt, 30_rand_ooo_multiple_05.txt, 30_rand_ooo_multiple_06.txt, 30_rand_ooo_multiple_07.txt, 30_rand_ooo_multiple_08.txt, 30_rand_ooo_multiple_09.txt, 30_rand_ooo_multiple_10.txt, 30_rand_ooo_multiple_11.txt, 30_rand_ooo_multiple_12.txt, 30_rand_ooo_multiple_13.txt, 30_rand_ooo_multiple_14.txt, 30_rand_ooo_multiple_15.txt, 40_hand_01.txt, 40_hand_02.txt, 40_hand_03.txt, 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 00_example_04.txt, 00_example_05.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_example_01.txt | AC | 55 ms | 14148 KB |
00_example_02.txt | AC | 54 ms | 14144 KB |
00_example_03.txt | AC | 60 ms | 14160 KB |
00_example_04.txt | AC | 60 ms | 12104 KB |
00_example_05.txt | AC | 60 ms | 12104 KB |
05_rand_01.txt | AC | 55 ms | 14040 KB |
05_rand_02.txt | AC | 50 ms | 14040 KB |
05_rand_03.txt | AC | 55 ms | 14024 KB |
05_rand_04.txt | AC | 54 ms | 14024 KB |
05_rand_05.txt | AC | 55 ms | 16088 KB |
05_rand_06.txt | AC | 54 ms | 11976 KB |
05_rand_07.txt | AC | 54 ms | 14156 KB |
05_rand_08.txt | AC | 55 ms | 14040 KB |
05_rand_09.txt | AC | 55 ms | 16072 KB |
05_rand_10.txt | AC | 54 ms | 14040 KB |
05_rand_11.txt | AC | 54 ms | 14156 KB |
05_rand_12.txt | AC | 54 ms | 14024 KB |
05_rand_13.txt | AC | 54 ms | 14160 KB |
05_rand_14.txt | AC | 56 ms | 16088 KB |
05_rand_15.txt | AC | 55 ms | 16088 KB |
10_single_01.txt | AC | 54 ms | 14024 KB |
10_single_02.txt | AC | 55 ms | 14024 KB |
10_single_03.txt | AC | 60 ms | 14040 KB |
10_single_04.txt | AC | 61 ms | 16200 KB |
10_single_05.txt | AC | 61 ms | 14152 KB |
10_single_06.txt | AC | 60 ms | 14152 KB |
10_single_07.txt | AC | 60 ms | 14152 KB |
10_single_08.txt | AC | 60 ms | 14220 KB |
10_single_09.txt | AC | 61 ms | 16200 KB |
10_single_10.txt | AC | 60 ms | 14152 KB |
15_multiple_01.txt | AC | 56 ms | 14024 KB |
15_multiple_02.txt | AC | 59 ms | 12104 KB |
15_multiple_03.txt | AC | 60 ms | 14040 KB |
15_multiple_04.txt | AC | 60 ms | 14040 KB |
15_multiple_05.txt | AC | 61 ms | 12104 KB |
15_multiple_06.txt | AC | 60 ms | 14160 KB |
15_multiple_07.txt | AC | 61 ms | 16200 KB |
15_multiple_08.txt | AC | 60 ms | 12112 KB |
20_rand_multiple_01.txt | AC | 50 ms | 14040 KB |
20_rand_multiple_02.txt | AC | 50 ms | 11992 KB |
20_rand_multiple_03.txt | AC | 55 ms | 14024 KB |
20_rand_multiple_04.txt | AC | 54 ms | 14156 KB |
20_rand_multiple_05.txt | AC | 54 ms | 14104 KB |
20_rand_multiple_06.txt | AC | 54 ms | 14156 KB |
20_rand_multiple_07.txt | AC | 55 ms | 14024 KB |
20_rand_multiple_08.txt | AC | 54 ms | 14040 KB |
20_rand_multiple_09.txt | AC | 54 ms | 12096 KB |
20_rand_multiple_10.txt | AC | 54 ms | 14144 KB |
30_rand_ooo_multiple_01.txt | AC | 61 ms | 14152 KB |
30_rand_ooo_multiple_02.txt | AC | 60 ms | 12104 KB |
30_rand_ooo_multiple_03.txt | AC | 60 ms | 14152 KB |
30_rand_ooo_multiple_04.txt | AC | 61 ms | 14152 KB |
30_rand_ooo_multiple_05.txt | AC | 54 ms | 11976 KB |
30_rand_ooo_multiple_06.txt | AC | 60 ms | 16200 KB |
30_rand_ooo_multiple_07.txt | AC | 60 ms | 16088 KB |
30_rand_ooo_multiple_08.txt | AC | 60 ms | 14164 KB |
30_rand_ooo_multiple_09.txt | AC | 55 ms | 14156 KB |
30_rand_ooo_multiple_10.txt | AC | 60 ms | 14160 KB |
30_rand_ooo_multiple_11.txt | AC | 60 ms | 14164 KB |
30_rand_ooo_multiple_12.txt | AC | 60 ms | 14164 KB |
30_rand_ooo_multiple_13.txt | AC | 60 ms | 14040 KB |
30_rand_ooo_multiple_14.txt | AC | 60 ms | 14040 KB |
30_rand_ooo_multiple_15.txt | AC | 60 ms | 14152 KB |
40_hand_01.txt | AC | 50 ms | 14140 KB |
40_hand_02.txt | AC | 61 ms | 14168 KB |
40_hand_03.txt | AC | 54 ms | 12112 KB |