public static void Solve() { var N = Scanner.Scan <int>(); var S = Scanner.ScanLine(); var deq = new Deque <int>(); deq.PushBack(N); foreach (var(c, i) in S.Select((x, i) => (x, i)).Reverse()) { if (c == 'L') { deq.PushBack(i); } else { deq.PushFront(i); } } Console.WriteLine(string.Join(" ", deq)); }
public static void Solve() { var S = Scanner.ScanLine(); var(l, r) = (0, S.Length - 1); while (r >= 0 && S[r] == 'a') { r--; } while (l < r && S[l] == 'a') { l++; } var lc = l; var rc = S.Length - r - 1; if (lc > rc) { Console.WriteLine("No"); return; } var t = S[l..(r + 1)];
public static void Solve() { var N = Scanner.Scan <int>(); var G = new string[N]; for (var i = 0; i < N; i++) { G[i] = Scanner.ScanLine(); } for (var i = 0; i < N; i++) { for (var j = 0; j < N; j++) { var ok = false; if (i + 5 < N) { var count = 0; for (var k = 0; k <= 5; k++) { if (G[i + k][j] == '#') { count++; } } ok |= count >= 4; } if (j + 5 < N) { var count = 0; for (var k = 0; k <= 5; k++) { if (G[i][j + k] == '#') { count++; } } ok |= count >= 4; } if (i + 5 < N && j + 5 < N) { var count = 0; for (var k = 0; k <= 5; k++) { if (G[i + k][j + k] == '#') { count++; } } ok |= count >= 4; } if (i + 5 < N && j - 5 >= 0) { var count = 0; for (var k = 0; k <= 5; k++) { if (G[i + k][j - k] == '#') { count++; } } ok |= count >= 4; } if (ok) { Console.WriteLine("Yes"); return; } } } Console.WriteLine("No"); }