2023-10-01から1ヶ月間の記事一覧

B09 - Papers

atcoder.jp ABとCDが座標というのを理解していなくて、1まわり大きい面積を計算してしまっていた。実際に手計算して気付けたけど、結構嵌まってしまったな。 var N = int.Parse(Console.ReadLine()!); var A = new int[N]; var B = new int[N]; var C = new …

A09 - Winter in ALGO Kingdom

atcoder.jp 配列のインデックスが配列に格納されているような形なんで、ミスしてもなかなか気付かずハマった。配列の中身を出力するコードを一時的に足して、間違っていた箇所にようやく気付けた。 var HWN = Console.ReadLine()!.Split(' ').Select(x => in…

B08 - Counting Points

atcoder.jp 点の座標を二次元配列にプロットしてから、二次元累積和を計算。 x座標用のループ変数はx、y座標用のループ変数はyと名前付けしたら、混乱が緩和された気がする。 const int H = 1500 + 1; const int W = 1500 + 1; var N = int.Parse(Console.Re…

A08 - Two Dimensional Sum

atcoder.jp 回答する際の、配列のインデックス指定で混乱した。変数名にもうちょい工夫が必要だったな。 var input = Console.ReadLine()! .Split(' ') .Select(x => int.Parse(x)) .ToList(); var H = input[0]; var W = input[1]; var X = new int[H, W]; …

B07 - Convenience Store 2

atcoder.jp 前の時間帯と比べて何人増減したかを計算して、次にその累積和を計算。 var T = int.Parse(Console.ReadLine()!); var N = int.Parse(Console.ReadLine()!); // 例えば0時から10時までの営業で、 // 5時から10時まで働く従業員がいた場合、 // B[…

A07 - Event Attendance

atcoder.jp 前日比を計算してから、前日比の累積和を計算。 var D = int.Parse(Console.ReadLine()!); var N = int.Parse(Console.ReadLine()!); // 前日比を計算 var B = new int[D + 2]; // 0 日目と D + 1 日目も含める for (var i = 0; i < N; i++) { va…

洋食や 三代目 たいめいけん ららぽーと福岡店

キッザニア福岡に行ったついでに、ららぽーと福岡のフードコートに出店している「洋食や 三代目 たいめいけん」で早めの夕食を食べて帰った。オープン当初はフードコートはほぼ満席で、たいめいけんの前に行列が出来ていたな。平日はさすがに超余裕。 オムラ…

キッザニア福岡

子どもの小学校が秋休みだったので、家族でららぽーと福岡のキッザニアに行ってきた。秋休みとはいえカレンダー上は平日なので、ライバルが少ないのでは、という読み。 入場開始時間ギリギリに到着。思っていた以上の行列だったけど、初なので多いのかどうか…

B06 - Lottery

atcoder.jp アタリとハズレの累積和をそれぞれ計算しておく。0 番目の累積和として 0 を追加しておくテクニックを使ってみた。 var N = int.Parse(Console.ReadLine()!); var A = Console.ReadLine()!.Split(' ').Select(x => int.Parse(x)).ToList(); var Q…

A06 - How Many Guests?

atcoder.jp (R日目までの累積来場者数) - (L - 1 日目までの累積来場者数)を愚直に実装してみた。 var NQ = Console.ReadLine()! .Split(' ') .Select(x => int.Parse(x)) .ToList(); var N = NQ[0]; var Q = NQ[1]; var A = Console.ReadLine()! .Split(' '…

KiKi 花椒チリー

台湾発のインスタント麺 KiKi がすごく美味いらしい、というネット情報が気になって、福岡市内のスーパーを探し回ったけど見つからず。カルディや北野エースにも無かった。諦めきれなかったのでネットで購入。4個パックというのはちょっとした賭け。過去に辛…

B04 - Binary Representation 2

atcoder.jp 2進数を10進数に変換。 var N = Console.ReadLine()!; var answer = 0; for (var i = 0; i < N.Length; i++) { var m = Math.Pow(2, N.Length - 1 - i); if (N[i] == '1') { answer += (int)m; } } Console.WriteLine(answer);

A05 - Three Cards

atcoder.jp 3重ループだと時間切れになるので、2重ループで。 var input = Console.ReadLine()!.Split(' '); var N = int.Parse(input[0]); var K = int.Parse(input[1]); var answer = 0; for (var r = 1; r <= N; r++) { for (var b = 1; b <= N; b++) { v…

A04 - Binary Representation 1

atcoder.jp 10桁目から計算開始し、桁を下げていく。 var N = int.Parse(Console.ReadLine()!); var answer = ""; for (int i = 9; i >= 0; i--) { var m = Math.Pow(2, i); answer += (int)(N / m); N = (int)(N % m); } Console.WriteLine(answer);

B03 - Supermarket 1

atcoder.jp ただの 3 重ループだと商品が重複するので WA になる。商品が重複しない工夫が必要。 var N = int.Parse(Console.ReadLine()!); var A = Console.ReadLine()!.Split(' ').Select(int.Parse).ToList(); var answer = false; // 組み合わせなので、…

A03 - Two Cards

atcoder.jp N 使ってないけど、AC だったのでヨシ! var input = Console.ReadLine()! .Split(' ') .Select(int.Parse) .ToList(); var N = input[0]; var K = input[1]; var P = Console.ReadLine()! .Split(' ') .Select(int.Parse) .ToList(); var Q = Co…

B02 - Divisor Check

atcoder.jp LINQ 使わずに for で書いてみた。 var input = Console.ReadLine()!.Split(' '); var A = int.Parse(input[0]); var B = int.Parse(input[1]); var exists = false; for (var n = A; n <= B; n++) { if (100 % n == 0) { exists = true; break; …

A02 - Linear Search

atcoder.jp LINQ 便利。楽のし過ぎかも。 var input = Console.ReadLine()!.Split(' '); var N = int.Parse(input[0]); var X = int.Parse(input[1]); var A = Console.ReadLine()!.Split(' ').Select(x => int.Parse(x)); if (A.Any(x => x == X)) { Consol…

B01 - A+B Problem

atcoder.jp 単純な足し算。 var input = Console.ReadLine(); var array = input!.Split(' '); var A = int.Parse(array[0]); var B = int.Parse(array[1]); Console.WriteLine(A + B);

A01 - The First Problem

atcoder.jp 言語に C# 11.0(.NET 7.07) が追加されていたので、C# で書く。 var N = int.Parse(Console.ReadLine()!); Console.WriteLine(N * N); トップレベルステートメントが使えるので、コードが短くなって良し。

数学ガールの秘密ノート/丸い三角関数

単位円を使った sinθとcosθの定義の説明は非常に分かりやすかった。授業で習ったのは筆記体のsとcを使った暗記法で、一応暗記で問題は解けていたけど、本当に理解していたとは言えない。 加法定理も暗記。本書のように実際に手を動かしていたら、三角関数を…

アオアシ(33)

福田の過去編は終了。福田はてっきり悪質な殺人タックルで破壊されたのかと思ってた。日本にいた時から膝痛めてたのか。トップフォームに戻らなかったのは悲劇だな。今は久保や三笘といった日本人選手が欧州で活躍しているけど、怪我だけ気をつけてほしい。 …