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.はじめに

 C問題までは順調に解けましたが、Dの壁を越せず
 結果はレート微減でした。
 でも、レートがピッタリ700になったのでなんかうれしい感じでした。

1.A - ab

 Aらしい肩慣らし問題でした。

 フラグ変数を0で初期化し、文字列を2文字目から見ていく。
 一文字前と現在の文字が、abかbaの組み合わせだったら
 フラグに1をセット
 最後にフラグが1だったらYes、0だったらNoを出力して終了。

 https://atcoder.jp/contests/abc327/submissions/47210843

2.B - A^A

 最初は素因数分解めんどいなーと思いましたが、
 入力例とBの最大値を見て、A=10で10の10乗まで行くなら
 受験を満たすAの数はそれほど大きくないなと気づきました。
 Bの値を試算していき、A=17で制限である10の18乗を
 超えることが分かったので、あとは、i=1から16までループして
 入力のBとiのi乗が一致したらYes、i=16を超えても一致しなかったらNoを
 出力して終了。

 https://atcoder.jp/contests/abc327/submissions/47219480

3.C - Number Place

 ナンプレは日ごろからやるので、質問の理解はすぐできました。
 とりあえず、9個の配列を渡したら、その中に1~9がすべて含まれるかを
 チェックする関数chkを用意。以下関数の実装内容
  1.入力された配列Lを昇順ソート
  2.Lの要素を結合した文字列が”123456789”を満たす時
  →Trueをリターン
  3.Lの要素を結合した文字列が”123456789”を満たさない時
   →Noを出力して終了。

 メイン処理の方は、チェックすべき、行、列、3×3のブロック毎に
 配列を作り関数chkに渡す。
 すべてチェックしてもPGが終了してなかったら条件を満たすので
 Yesを出力して終了。
 行列の実装はすんなりいきましたが
 3×3のブロックを配列化するのにてこずり、結局力技で
 1文字ずつ指定するというエレガントさの欠片もない実装になりました・・。

 https://atcoder.jp/contests/abc327/submissions/47242365

4.D - Good Tuple Problem

 問題文の言っていることが全く分からず諦めかけましたが
 例題を見つつなんとか理解できた気になりました。
 【考え方】(理解できた気になった考え方なので最終的な回答には未使用)
  ・A[i]とB[i]をペアのキューqを作っていく、その過程で、相互関係を持たない
   ペアは除外する。
   例:(3,1)、(3,2)、(1,2)、(4,5)とあったら、4つ目は除外
  ・相互関係を考慮しなければいけないqを先頭から抽出していき
   それぞれの値に1or0を振っていく、すでに振られた
   値に矛盾が生じる場合にNoを出力して終了
   すべての値に1or0が設定出来たらYesを出力して終了
 色々試行錯誤してさらに時間切れになりつつも
 TLE5つまでいったのですが、その先にACはなさそうでした・・。

 解説を見たところ、二部グラフという初耳な考えかたで
 解法が示されていて、ざっくり理解した感じだと問題文でいうXの
 リストを完成してくという考え方でした。

 解説のC++を参考にpythonで実装したところ、REがでたので
 いつもの再帰深度不足だなということで、setrecursionlimitを拡張し
 ACとなりました。
 
 https://atcoder.jp/contests/abc327/submissions/47280246

0
1
0

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?