0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

0.はじめに
 コンテスト予選を兼ねてるそうで、Dから難しいよーと注意書きがありました。
 実際、なかなか難しくてちょっと手が出なかったです。

1.A - Many A+B Problems
 素直にN回ループでAB入力して、足した数を出力でAC。

 https://atcoder.jp/contests/abc288/submissions/38597107

2.B - Qualification Contest
 最初、単純にK人分入力して、そのままK人表示してしまいましたが
 よく見たら辞書順出力でした・・・。
 K人分入力してリストに突っ込み、そのリストをソートしてから
 全部表示でACでした。
 
 https://atcoder.jp/contests/abc288/submissions/38606833

3.C - Don’t be cycle
 解法が思いつかなかったので、まずは閉路判定方法をググる。
 すると、Union-Findで同じ根を持つ辺が出来た際に
 閉路ができるとのこと。
 次にUnion-Findについてぐぐり、動画などを見て大体を把握して
 サンプルコードを拾ってきて、UnionFind関数を実装したうえで
 組み立て。

 M個の辺を読み込み、辺ごとにUnite処理
 Uniteする辺の2つの頂点が同じ根を持つか判定し
 同じ根であればans変数に1を加算。
 全部の辺を読み込んだら、最後にans変数を出力して終わり。

 一つの辺を消すことで2つの閉路を打破できるみたいなケースが
 あるかも!?と悩んでましたがちょっと考えたらそういう場合は
 ないなーと思えたのでとりあえず試したらAC頂けました。

 https://atcoder.jp/contests/abc288/submissions/38618517

 参考サイト:https://procon.fun/code/unionfind-cycle/

以上

0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?