public static void Solve() { var(N, K) = Scanner.Scan <int, int>(); Console.WriteLine(N % K > 0 ? 1 : 0); }
public static void Solve() { var N = Scanner.Scan <int>(); Console.WriteLine(N < 1000 ? "ABC" : "ABD"); }
public static void Solve() { var(N, K) = Scanner.Scan <int, int>(); var WP = new (double, double)[N];
public static void Solve() { var S = Scanner.Scan <string>(); Console.WriteLine(S + "pp"); }
public static void Solve() { var(N, K) = Scanner.Scan <int, int>(); var A = Scanner.ScanEnumerable <long>().ToArray(); }
public static void Solve() { var N = Scanner.Scan <int>(); var S = new (long H, long W)[N];
public static void Solve() { var S = Scanner.Scan <string>(); Console.WriteLine(DateTime.Parse(S) <= DateTime.Parse("2019/04/30") ? "Heisei" : "TBD"); }
public static void Solve() { var N = Scanner.Scan <int>(); var T = Scanner.Scan <string>(); var D4 = new[] { (1, 0), (0, -1), (-1, 0), (0, 1) };
public static void Solve() { var N = Scanner.Scan <int>(); var C = new (long A, long B)[N];
public static void Solve() { var N = Scanner.Scan <int>(); var P = new (int X, int Y, int H)[N];
public static void Solve() { var A = Scanner.Scan <long>(); var S = Scanner.Scan <string>(); }
public static void Solve() { var(A, B, C) = Scanner.Scan <int, int, int>(); Console.WriteLine(A == B && B == C ? "Yes" : "No"); }
public static void Solve() { var N = Scanner.Scan <int>(); var S = Scanner.Scan <string>().ToCharArray(); var Q = Scanner.Scan <int>(); var flip = false; while (Q-- > 0) { var(T, A, B) = Scanner.Scan <int, int, int>(); A--; B--; if (T == 1) { if (flip) { if (A / N != B / N) { if (A > B) { A -= N; B += N; } else { B -= N; A += N; } } else { if (A / N == 0) { A += N; B += N; } else { A -= N; B -= N; } } } (S[A], S[B]) = (S[B], S[A]); } else { flip = !flip; } } if (flip) { for (var i = 0; i < N; i++) { (S[i], S[i + N]) = (S[i + N], S[i]); } } Console.WriteLine(new string(S)); }
public static void Solve() { var(N, M) = Scanner.Scan <int, int>(); var G = new List <int> [N].Select(x => new List <int>()).ToArray(); for (var i = 0; i < M; i++) { var(a, b) = Scanner.Scan <int, int>(); a--; b--; G[a].Add(b); G[b].Add(a); } var K = Scanner.Scan <int>(); var C = Scanner.ScanEnumerable <int>().Select(x => x - 1).ToArray(); const int inf = (int)1e9; IEnumerable <int> Bfs(int s) { var costs = new int[N]; Array.Fill(costs, inf); costs[s] = 0; var queue = new Queue <int>(); queue.Enqueue(s); while (queue.Any()) { var u = queue.Dequeue(); foreach (var v in G[u]) { if (costs[u] + 1 >= costs[v]) { continue; } costs[v] = costs[u] + 1; queue.Enqueue(v); } } for (var i = 0; i < K; i++) { yield return(costs[C[i]]); } } var costs = new int[K][]; for (var i = 0; i < K; i++) { costs[i] = Bfs(C[i]).ToArray(); } var dp = new int[1 << K][]; for (var i = 0; i < 1 << K; i++) { dp[i] = new int[K]; Array.Fill(dp[i], inf); } for (var i = 0; i < K; i++) { dp[1 << i][i] = 1; } for (var b1 = 0; b1 < 1 << K; b1++) { for (var i = 0; i < K; i++) { if ((b1 >> i & 1) == 0) { continue; } var b2 = b1 ^ 1 << i; for (var j = 0; j < K; j++) { if ((b2 >> j & 1) == 0) { continue; } dp[b1][i] = Math.Min(dp[b1][i], dp[b2][j] + costs[i][j]); } } } var answer = dp[^ 1].Min();
public static void Solve() { var N = Scanner.Scan <int>(); var A = Scanner.ScanEnumerable <int>().ToArray(); var G = new int[N][].Select(_ => new List <int>()).ToArray(); for (var i = 0; i < N - 1; i++) { var(v1, v2) = Scanner.Scan <int, int>(); v1--; v2--; G[v1].Add(v2); G[v2].Add(v1); } var answer = new int[N]; var stack = new int[N].Select(_ => int.MaxValue).ToArray(); var length = 0; void Dfs(int current, int parent) { var l = -1; var r = length; while (r - l > 1) { var m = l + (r - l) / 2; if (stack[m] < A[current]) { l = m; } else { r = m; } } var prevLength = length; var prev = stack[r]; if (r >= length) { length++; } stack[r] = Math.Min(stack[r], A[current]); answer[current] = length; foreach (var child in G[current]) { if (child == parent) { continue; } Dfs(child, current); } length = prevLength; stack[r] = prev; } Dfs(0, -1); Console.WriteLine(string.Join("\n", answer)); }
public static void Solve() { var(N, M) = Scanner.Scan <int, int>(); var H = Scanner.ScanEnumerable <long>().ToArray(); var G = new List <(int, long)> [N].Select(x => new List <(int, long)>()).ToArray();
public static void Solve() { var(N, K) = Scanner.Scan <int, long>(); var Q = new (long A, long B, long C)[N];
public static void Solve() { var(N, M) = Scanner.Scan <int, int>(); Console.WriteLine((N - 1) * (M - 1)); }
public static void Solve() { var S = Scanner.Scan <string>(); Console.WriteLine(S.Count(x => x == '1')); }
public static void Solve() { var R = Scanner.Scan <int>(); Console.WriteLine(2 * R * Math.PI); }
public static void Solve() { var(A, B) = Scanner.Scan <int, int>(); var(C, D) = Scanner.Scan <int, int>(); Console.WriteLine(B - C); }
public static void Solve() { var N = Scanner.Scan <int>(); const int inf = (int)1e9; var A = new int[N]; var B = new int[N]; var C = Enumerable.Repeat(-inf, N).ToArray(); var info = new bool[N * 2 + 1]; var answer = true; var getOn = Enumerable.Repeat(-inf, N * 2 + 1).ToArray(); var getOff = Enumerable.Repeat(-inf, N * 2 + 1).ToArray(); for (var i = 0; i < N; i++) { var(a, b) = Scanner.Scan <int, int>(); A[i] = a; B[i] = b; if (a > 0) { if (info[a]) { answer = false; } else { info[a] = true; } getOn[a] = i; } if (b > 0) { if (info[b]) { answer = false; } else { info[b] = true; } getOff[b] = i; } if (a > 0 && b > 0) { if (b <= a) { answer = false; } C[i] = b - a - 1; } } if (!answer) { Console.WriteLine("No"); return; } var list = new List <int>(); for (var n = 1; n <= N * 2 && answer; n++) { var on = getOn[n]; var off = getOff[n]; if (on >= 0) { if (C[on] != -inf) { if (list.Any(x => C[x] != C[on])) { answer = false; } else { list.Add(on); } } } if (off >= 0) { list.Remove(off); } } Console.WriteLine(answer ? "Yes" : "No"); }
public static void Solve() { var(H, W) = Scanner.Scan <int, int>(); var counts = new int[H][]; var G = new string[H]; for (var i = 0; i < H; i++) { counts[i] = new int[W]; G[i] = Console.ReadLine(); } for (var i = 0; i < H; i++) { for (var j = 0; j < W; j++) { if (G[i][j] == '#') { counts[i][j] = -1; continue; } if (i - 1 >= 0) { if (j - 1 >= 0 && G[i - 1][j - 1] == '#') { counts[i][j]++; } if (G[i - 1][j] == '#') { counts[i][j]++; } if (j + 1 < W && G[i - 1][j + 1] == '#') { counts[i][j]++; } } if (i + 1 < H) { if (j - 1 >= 0 && G[i + 1][j - 1] == '#') { counts[i][j]++; } if (G[i + 1][j] == '#') { counts[i][j]++; } if (j + 1 < W && G[i + 1][j + 1] == '#') { counts[i][j]++; } } if (j - 1 >= 0 && G[i][j - 1] == '#') { counts[i][j]++; } if (j + 1 < W && G[i][j + 1] == '#') { counts[i][j]++; } } } Console.WriteLine(string.Join("\n", counts.Select(x => string.Join("", x).Replace("-1", "#")))); }
public static void Solve() { var N = Scanner.Scan <int>(); Console.WriteLine(N % 12 + 1); }
public static void Solve() { var N = Scanner.Scan <int>(); var A = new (int Idx, int T)[N];
public static void Solve() { var N = Scanner.Scan <int>(); Console.WriteLine(N % 2 == 0 ? "Blue" : "Red"); }
public static void Solve() { var(A, B, C) = Scanner.Scan <int, int, int>(); Console.WriteLine(Math.Max(0, C - (A - B))); }
public static void Solve() { var S = Scanner.Scan <string>(); if (S == "a" || S == "zzzzzzzzzzzzzzzzzzzz") { Console.WriteLine("NO"); return; } var rev = new string(S.Reverse().ToArray()); if (rev != S) { Console.WriteLine(rev); return; } var s = 0; foreach (var c in S) { s += c - 'a' + 1; } if (s <= 26 && S.Length > 1) { var c = s - 1; Console.WriteLine((char)(c + 'a')); return; } var builder = new StringBuilder(); while (s > 26) { builder.Append('z'); s -= 26; } if (s == 1) { builder.Append('a'); } else { if (builder.Length < 19) { var c = (s - 2) % 26; builder.Append((char)(c + 'a')); builder.Append('a'); } else { var c = (s - 1) % 26; builder.Append((char)(c + 'a')); } } var answer = builder.ToString(); Console.WriteLine(answer); }
public static void Solve() { var(A, B, C) = Scanner.Scan <int, int, int>(); Console.WriteLine(Math.Min(C, B / A)); }
public static void Solve() { var(A, B) = Scanner.Scan <string, string>(); Console.WriteLine(A == B ? "H" : "D"); }