AtCoder Beginner Contest 022

 不条理…。

結果

 400/400 104:42(5) 32位相当


 開始時刻 2017/08/05 10:56:00 提出履歴

A: Best Body - AtCoder Beginner Contest 022 | AtCoder

 2:54(AC)
 入力をひたすらWに足していく。S以上T以下になった回数が答え。最初の入力も忘れない。
 あるいは、W=0から始めて最初の入力も増減と同じように扱ってもいいかもしれない。

B: Bumble Bee - AtCoder Beginner Contest 022 | AtCoder

 9:14(AC)
 出てきた数字を数える。mapでもいいし、バケツソートの要領でもいい。
 入力が終わったら、出現した数字全てに関して、出現回数-1を足していけば答えになる。

C: Blue Bird - AtCoder Beginner Contest 022 | AtCoder

 79:42(AC)
 D問題より難しいC問題やめてほしい…。
 頂点1を含む閉路の長さっていうのは、1頂点と隣接してる異なる2頂点i、jを考えた時、(1-i間の距離)+(i-j間の頂点1を含まないような最短距離)+(j-1間の距離)で表せる。全頂点間の最短距離はワーシャルフロイド法で頂点数の3乗オーダーで求められるので、あとは全ての(i, j)の組に対して検算していけばいい。

D: Big Bang - AtCoder Beginner Contest 022 | AtCoder

 29:41(WA)30:53(WA)33:46(WA)36:16(WA)36:31(WA)41:13(CE)41:38(AC)
 ひたすらに不条理。手元環境だとサンプルケースと完全に一致してるのに、提出したらWAしか出てないとかなんなん?
 平行移動とか回転とか考えると頭が痛くなるので、Pのみに依存するような関係を考える。具体的には、重心と重心まわりの最遠点の距離とか。なんとなくでいいので一つを絞り出したい。  この関係が出てしまえばあとはこっちのもんで、単純にAに関してとBに関しての計算をして、割ればPが出てくる。

感想

 コンパイラ変えたらACが出てきたり、出力桁数を減らしたらACしたり、なんなんだって感じ。出力桁数を減らしてACはマジで理解できない。