あるエンジニアのAtCoder奮闘記

東京都港区にあるアミフィアブル株式会社のエンジニアが、AtCoderで解いた問題について振り返ったりしていく会社公認のブログです。

AtCoder AGC 007 B - Construct Sequences (Go)

irisruneです。最近あまりAtCoderに時間を割けていません。 問題 atcoder.jp 3つ目までの条件を満たしつつ4つ目の条件を満たすためにはどうすればよいか考える問題です。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner func …

AtCoder 第二回全国統一プログラミング王決定戦予選 B - Counting of Trees (再解説) (Go)

irisruneです。前回扱った問題のアルゴリズム面についてもう少し解説したいと思います。 問題リンクと提出コードは前回記事を参照してください。 ami-atcoder.hatenablog.com 例えば以下のような入力について考えます。 6 0 1 1 2 2 3 すると、次のような木…

AtCoder 第二回全国統一プログラミング王決定戦予選 B - Counting of Trees (Go)

irisruneです。例によってコンテストには出られませんでした。 問題 atcoder.jp アルゴリズムは素直ですが、解法のイメージができるかが問われる問題だと思います。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner func nextS…

AtCoder AGC 019 B - Reverse and Compare (Go)

irisruneです。GoのLanguage Owner入りをのんびり目指していきたいです。 問題 atcoder.jp 除外して良いケースをどのように導き出すかという問題です。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner func nextStr() string …

AtCoder AGC 040 A - >< (Go)

irisruneです。今週のコンテストは1完でまた水パフォでした。 問題 atcoder.jp 見かけがかなりわかりにくく、アルゴリズムが組みにくい問題だと思います。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner func nextStr() stri…

AtCoder AGC 032 B - Balanced Neighbors (Go)

irisruneです。気づけばもう11月となり、今年の終わりも近づいてきました。 問題 atcoder.jp パズル要素が強めのグラフ問題です。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner func nextStr() string { sc.Scan() return s…

AtCoder E - Gluttony 解説AC (Go)

irisruneです。AtCoderの数学問題は注目を集めやすい印象です。 問題 atcoder.jp 大きなポイントが2つあり、どちらが欠けても上手くいかない問題です。 package main import ( "bufio" "fmt" "os" "sort" "strconv" ) var sc *bufio.Scanner func nextStr() …

AtCoder ABC 144 D - Water Bottle (Go)

irisruneです。コンテストはE問題の解法がどうにも思いつきませんでしたが、水パフォは出ました。 問題 atcoder.jp 直球の数学問題ですが、D問題だけあって割と面倒な問題です。 package main import ( "bufio" "fmt" "math" "os" "strconv" ) var sc *bufio…

AtCoder ARC 074 / ABC 062 C - Chocolate Bar (Go)

irisruneです。最近台風の接近が多く関東の天気は荒れがちですね。 問題 atcoder.jp 本当に全探索すると間に合わないので少しだけ工夫する問題です。 package main import ( "bufio" "fmt" "os" "sort" "strconv" ) var sc *bufio.Scanner func nextStr() st…

AtCoder ABC 143 E - Travel by Car (Go)

irisruneです。コンテストに出る習慣をどうにか取り戻したいところです。 問題 atcoder.jp 難しいアルゴリズムが求められそうですが、実装力があれば解けてしまう問題です。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner fu…

AtCoder ABC 143 D - Triangles (Go)

irisruneです。コンテストは当日になってうっかり存在を忘れてしまいました。 問題 atcoder.jp 3重ループは通りませんが2重ループなら通る制約設定が重要です。 package main import ( "bufio" "fmt" "os" "sort" "strconv" ) var sc *bufio.Scanner func ne…

AtCoder AGC 024 C - Sequence Growing Easy (Go)

irisruneです。AtCoder用の手元環境をもう少し整備したい思いです。 問題 atcoder.jp 700点の割には単純な問題だと思います。 package main import ( "bufio" "fmt" "os" "strconv" ) var sc *bufio.Scanner func nextStr() string { sc.Scan() return sc.Te…

AtCoder ABC 080 D - Recording (Go)

irisruneです。先週はコンテストがなかったので今週は過去問を扱います。 問題 atcoder.jp 一見関係のないように見える要素も実際は必要になってくる問題です。 package main import ( "bufio" "fmt" "os" "sort" "strconv" ) var sc *bufio.Scanner func ne…

AtCoder AGC 039 B - Graph Partition (Go)

irisruneです。今週は台風の影響で公式コンテストが開催されないそうです。 問題 atcoder.jp どのような場合に条件を満たす分割が可能か、どのようにして分割の最大数を求めるかがポイントになります。 package main import ( "bufio" "fmt" "os" "strconv" …

AtCoder AGC 039 A - Connection and Disconnection (Go)

irisruneです。流石に残暑も落ち着いてきた感じです。 問題 atcoder.jp 単純に見えて意外と考えることが多い問題です。 package main import ( "bufio" "fmt" "os" "strconv" "strings" ) var sc *bufio.Scanner func nextStr() string { sc.Scan() return s…