競プロ・数学を頑張りたい(願望)

競技プログラミングの問題を解いたときや数学に関してのメモにしようと思っています。競プロはAOJを、数学は数検準1を目標で。

AOJ0225 Kobutanukitsuneko

AOJ0225

Kobutanukitsuneko | Aizu Online Judge

一度先輩から教えてもらったが、結局分からず先輩のコードをそのまま書いた。

今回は自分で全て実装することよりも理解することを目標とした。

 

ポイント

  1. しりとりは各アルファベットを頂点とする有効グラフで表現することができる
  2. 最初の単語の頭文字と最後の単語の最後の文字が同じになる=サイクルができる!
  3. サイクルの判定方法=入次数と出次数が等しい かつ 使用したアルファベットをすべて通る

 

知識

有効グラフの表し方

今回は隣接行列で表現した。

隣接行列はメモリがO(|V|^2)かかる。 

他にも隣接リストによる表現もある。(今度やれたらやってみる)