2018-08-01から1ヶ月間の記事一覧

174AC - ABC104C: All Green

ABC104-C (300 points) 問題 点の問題がそれぞれ 問, 計 問の問題が与えられ, 総合スコアを以下のように計算するとき, 点以上の総合スコアを獲得するために解かなければならない最少の問題数を求める. 基本スコア:解いた問題すべての配点の合計. コンプリー…

171AC - ABC051C: Back and Forth

ABC51-C (300 points) 問題 点 間を, 途中で同じ座標を複数回通らないように 往復するとき, 最短経路を求める. 入力は全て整数. 方針 往復目は素直に行けば良い. 往復目は, 上下左右に だけ余分に移動すればOK. # input sx, sy, tx, ty = map(int, input().s…

165AC - ABC052C: Factors of Factorial

ABC052-C (300 points) 問題 整数 が与えられるとき, の正の約数の個数を で割った余りを求める. 方針 素直に の素因数分解をするには が大きすぎるので, の順に素因数を足し上げていくことで, の素因数分解をする. 整数 の素因数分解が であるとき, 約数の…

163AC - ABC054C: One-stroke Path

ABC54-C (300 points) 問題 与えられた 頂点 辺の単純無向グラフについて, 頂点 を始点として全ての頂点を 度だけ訪れるパスを数え上げる. 方針 DFSで列挙. # input N, M = map(int, input().split()) G = [list(map(int, input().split())) for _ in range(…

162AC - ABC053C: X: Yet Another Die Game

ABC053-C (300 points) 問題 サイコロの好きな面が上になるように置き, 以下の操作を必要な回数行うとき, 点以上得るために必要な最小の操作回数を求める. 操作:サイコロを手前、奥、左、右のどれかの方向に90°だけ回転させる。その後、上を向いている面に…

161AC - ABC103C: Modulo Summation

ABC103-C (300 points) 問題 個の正整数 が与えられるとき, 非負整数 に対して を以下のように定義する. このとき, の最大値を求める. 入力は全て整数. 方針 の第 項について考えると の最大値は . とすると, 各項が最大値を取るので, このとき も最大値. # …

156AC - ABC054B: Template Matching

ABC054-B (200 points) 問題 の行列 と の行列 が与えられたとき (), が に含まれるかどうかを判定する. 方針 総当たり. import numpy as np # input N, M = map(int, input().split()) A = [list(input()) for _ in range(N)] B = [list(input()) for _ in …