arrows blog

解いた問題などを適当に書いていきます。

2015-09-01から1ヶ月間の記事一覧

AOJ 1037 Midnight Teatime

問題文, 制約 日本語なので省略 解法 構文解析+全探索まず、入力で与えられる文字列から木を構築する. その木の内部節点にナンバリングする.後は、内部節点の個数分(多くても8個)だけ、'A'を0, 'O'を1, 'X'を2として 全通り(例えば、内部節点が3個なら、000…

SRM 663 div2

Easy 問題文 N × Nのボードにそれぞれ英小文字が書いてある. ある英小文字を好きな英小文字に書き換えることができる.ボードをチェック模様(ある文字を見たとき、上下左右に隣接する文字が全て異なり、ボードを2つの文字で表現することができる) にするため…

SRM 669 div2

SRM

Easy 問題文 M曲の歌がある. 歌は0~M-1でナンバリングされ、i番目の歌は、idol s[i]のみ歌うことができる. i番目の歌が歌われると観客の幸福度がh[i]増える.各idolは、多くて1曲しか歌うことができない. この条件の下、観客の幸福度を最大化せよ.入力は、s[i…

SRM 665 div2 Easy Med

Easy 問題文 aが与えられる. a Xor b の計算結果の各桁の数字が全て4or7になり、かつ、a 複数ある場合はどれを出力しても良い. 解法 全探索aとbのXorはC++ならa^bで書ける. コード class LuckyXor { public: bool check(int x){ if(x == 0) return false; wh…

SRM 666 div2

Easy 問題文 省略 解法 シミュレーション boolの関数visitedを利用し、既に訪れたところに再び来た場合は、"Lose", -1に到達した場合は、"Win"とする. コード class DevuAndGame { public: string canWin(vector <int> nextLevel) { int now = 0; vector<bool> visited(</bool></int>…

SRM 667 div2 Easy Med

Easy 問題文 省略 解法 全探索 コード class PointDistance { public: int dist(int x1,int y1,int x2,int y2){ return pow(x1-x2,2.)+pow(y1-y2,2.); } vector <int> findPoint(int x1, int y1, int x2, int y2) { for(int x3 = -100 ; x3 <= 100 ; x3++){ for(i</int>…