AtCoder Grand Contest 050 (Good Bye rng_58 Day 1) B Three Coins

問題全部裏を向いたコインがN枚並んでいます。コインにはそれぞれスコアaiが設定されています。 以下の操作を好きなだけ行うことが出来ます: 連続した3枚のコインについて、すべて表裏が一致していた場合に限りその3枚を裏返す 表になっているコインのスコ…

SECON 2017 Online CTF Powerful Shell(Binary, 300pt)

CTF

score-quals.seccon.jppowershellの実行ファイルが与えられます。 そのままだと実行権限無かったのでまずぐぐってPCの設定を変えます。 中身はこんな感じ。 $ECCON=""; $ECCON+=[char](3783/291); $ECCON+=[char](6690/669); $ECCON+=[char](776-740); $ECCO…

SECON 2017 Online CTF JPEG file(Binary, 100pt)

CTF

score-quals.seccon.jp1バイト壊れたjpegが渡されます。 何もせず開くと横長の全面グレーの画像です。 ググるとファイルフォーマットについて解説した記事が出てきます。 JPG ファイルフォーマット 1バイトしか壊れてないなら壊れているのはヘッダ部分とみて…

SECON 2017 Online CTF Log search(Web, 100pt)

CTF

score-quals.seccon.jp こんな感じでサーバへのアクセスログが検索できます。 問題文曰く検索はElasticsearchらしいです。Web系はまったく知識が無く、悪意のあるコマンドをうまいこと送る考えもあまりできなかったのですが、 ふと思い立った時にflagと検索…

SECON 2017 Online CTF SHA-1 is dead(Crypto, 100pt)

CTF

score-quals.seccon.jpSHA-1ハッシュが一致する、2017KiBの2つのファイルを作れ、と言われています。 SHA-1 - Wikipediaちょっと調べると、SHA-1ハッシュが一致する2つのバイト列の後ろに同じ文字列を追加すると、 どのような文字列を追加してもハッシュは…

SECON 2017 Online CTF putchar music(Programming, 100pt)

CTF

score-quals.seccon.jpこれをlinuxで実行すると音楽が流れるよ、と言われました。 main(t,i,j){unsigned char p[]="###

SECON 2017 Online CTF Run me!(Programming, 100pt)

CTF

問題文 Run me! ----- RunMe.py import sys sys.setrecursionlimit(99999) def f(n): return n if n < 2 else f(n-2) + f(n-1) print "SECCON{" + str(f(11011))[:32] + "}" ----- 11011番目のフィボナッチ数列を計算するプログラムですが、再帰なので自明に…

SECON 2017 Online CTF Vigenere3d(Crypto, 100pt)

CTF

score-quals.seccon.jp とりあえずググると暗号自体の説明が出てきます ヴィジュネル暗号 - Wikipedia 変換テーブルと鍵文字列の組み合わせで暗号化後の文字が決まる 1文字ずつ変換するので、入力が1文字変わると出力も同じ部分が1文字だけ変わる 鍵文字は周…

SECON 2017 Online CTF 参加記

CTF

DDRという名前の一人チームで参加しました。 score-quals.seccon.jp 234位 / 1029位 (日本勢99位)でした。 参加するまで CTFは存在こそ(友利奈緒さんが活躍されたりしてたので)知っていたものの、 勉強したことはなく知識皆無の状態でした(というか今もほ…

Codeforces Round #273 (Div. 2) D. Red-Green Towers

問題r個の赤いブロックとg個の緑色のブロックで、1段目にn個、 2段目にn-1個、 3段目にn-2個、 ・・・ N段目に1個、という三角形型のオブジェを作り上げます。 ただし、それぞれの段は全て同じ色のブロックで作らなければなりません。 赤 緑・緑 緑・緑・緑 …

Codeforces Round #281 (Div. 2) D. Vasya and Chess

問題 N*Nのチェス盤があって(座標は1-indexとします)、 (1,1)に自分のクイーン(飛車角両方の動きができるやつ)が、 (1,N)に相手のクイーンがいて、 残りの盤面は全部ポーンがいます。 自分のクイーンをQ、相手のクイーンをq、ポーンをPとすると、 QPPPPP…

Codeforces Round #281 (Div. 2) E. Vasya and Polynomial

問題多項式P(x)のうち、係数がすべて非負整数のものについて考える。すなわち、P(x) =a_0 + a_1 * x + a_2 * x^2 + ... + a_n * x^nとしたとき、a_i>=0(0 3つの数t,a,bが与えられるので、P(t)=a, P(a)=bとなるような多項式P(x)の数を求めよ。制約 1

2013年プロコンまとめ

レート推移topcoder: 1245 → 1517(highest)codeforces: 1722 → 1860(highest)というわけで、どちらもhighest更新で終了となりました。 今年まとめ1月:卒論の現実逃避にたまーにコンテストに出る。 4月:大学院入学。博士課程の先輩がプロコンを最近始めた…

TopCoder SRM600

結果○-- 198.54pts 553rd. 1512 -> 1517所感 easy、一瞬迷ったけどそれなりに順調に実装できたし200点あればそこそこだろうと思っていたらなんと500位台。。。 まあ確かに簡単だったので着想も実装も一瞬であるべきでしたが。 ただ、方針決まってからは下ら…

Codeforces Round 219 Div1B. Counting Rectangles is Fun

問題0と1だけからなるn*m行列があります。 この行列の中の一部の長方形(a,b) ... (a,d) . . . . (c,b) ... (c,d)をrectangleと呼びます。要素として0しか含まれないrectangleをgood rectangleと呼びます。q個rectangleがクエリとして与えられるので、 そのre…

Codeforces Round 219 Div1A. Counting Kangaroos is Fun

問題n頭(?)のカンガルーがいて、それぞれサイズがs[i]です。 カンガルーは以下の条件を満たすとき、別のカンガルーのポケットに入れます。 (入る側のカンガルーのサイズ)*2≦(入られる側のカンガルーのサイズ) 入る側にも入られる側にも、別のカンガル…

Codeforces Round 219

結果○○--- +0/-0 279th. 1815 -> 1860所感レート上がりました。よかったよかった。 Aをすぐ思いついて実装も軽めだったので9分でAC取れたのがよかったです。 多分div1A10分以内に解けたの初めて。 Bを通すのに100分くらい掛かったりしてしまいましたが、 ワケワ…

Codeforces Round 218(Div.2 Only) E. Subway Innovation

問題数直線(x軸)上に並んだn個の地下鉄の駅があります。各駅の座標はx[i]であらわされます。 悲しいことにこの地下鉄は財政難なので、駅をk個まで減らさないといけなくなりました。減らし方の戦略として、kC2個の任意の2駅間距離の総和が最少になるものを…

Codeforces Round 218(Div.2 Only) D. Vessels

問題 \/ \__/ \____/こんな感じでn個の器が縦に連なっています。 上から順にa[i]リットルの容積があります。容積以上の水が注がれると下の容器に流れていきます。この容器に関して、2タイプのクエリをm個投げます。1 p x : p番目のところにxリッ…

Codeforces Round 218(Div.2 Only) C. Hamburgers

問題ハンバーガーのレシピがあります。要するに1つのハンバーガーを作るのに ・パン ・ソーセージ ・チーズ の3つの材料がそれぞれ何個ずつ要るかが文字列sとして与えられます。 手持ちの3つの材料の数ns,ns,ncと、 3つの材料を買い足す場合の単価pb,ps,…

Codeforces Round 218(Div.2 Only) B Fox Dividing Cheese

問題サイズがa,bの2つのチーズがあって、2匹の熊がでかい方を取り合おうとしていると、キツネさんがやってきます。「私が2つのチーズのサイズを同じにしてみせます。」 どうやるんだよ、と熊は不思議そうです。「2で割れるサイズだったら半分私が食べるこ…

Codeforces Round 218(Div.2 Only) A K-Periodic Array

問題長さnの、各要素がすべて1か2の配列aが与えられます。(nはkで割り切れます)K-Periodic Arrayとは、aをK個ごとに区切った時に同じ配列の繰り返しになる配列のことです。 [1,2,1,2,1,2]は2-periodic、 [1,2,1,1,2,1]は3-periodicです。配列aがk-periodic…

Codeforces Round 218(Div.2 Only)

結果○○○-- +0/-0 2548 300th.雑感 Aを5分で解けたのはよかった。 Bは誤読ゲーだったけど、方針の正しさを考えるのにちょっと迷いが生まれてしまった。 そしてCに時間がかかりすぎた。普段のDiv2Only回のCよりだいぶ簡単だったのに。Div2Only回は一般に「Div1…

Topcoder SRM599 Div1Easy BigFatInteger

問題Kという数に以下の2通りの操作をして、Kを大きくしていきます。(最初はK=1)です。・Kに素数をかける。 ・KにKの約数のいずれかをかける。2数A,Bが与えられたとき、KをA^Bにするのに最小の操作回数を求めなさい。制約A,B

SRM599

おひさしぶりですsuekiです。 記事を書くのを大分サボっていましたが、コンテストにはちょくちょく参加して、 夏休みには研究室の先輩とどっちが先にDiv1の問題(SRM||Codeforces)100問解けるか競争をしたりして地道に練習っぽいことは続けていました。とい…

Codeforces Round #194 Div1E Summer Earnings

問題N個の点の座標(整数)が与えられます。 この中から3点を選んで、その3点を中心として半径rの円を描きます。 このとき円は接してもいいけど交差しちゃダメです。 とりうるrの最大値を求めなさい。制約 (3 ≤ n ≤ 3000) ( - 10^4 ≤ xi, yi ≤ 10^4)

Codeforces Round #194 Div1D Characteristics of Rectangles

問題 N*Mの行列が与えられます。 この行列の端っこにある行や列をいくつか削ることができます(削らなくてもいいです)。うまい削り方をして、結果として得られる新しい行列(部分長方形)の、「四隅の4つの値の最小値」を最大にした時の値を求めてください…

Codeforces Round #194 Div1C Lucky Tickets

問題チケットは8ケタの、0~9の数字で番号が振られています(leading zeroを含みます)。 k-luckyとは、その8ケタの番号に+-*やカッコをつけたりして、計算結果がkになるようにできるような数字です。 たとえば、 "224201016"は ( - 2 - (2 + 4)) * (2 +…

Codeforces Round #194 Div1B Chips

問題N*Nのセルがあります。 その上にM個の落とし穴があります。隅以外の端のセルにいくつかチップを置いて、チップを逆サイドの端まで(つまり、上下または左右に)、1ターンに1マスずつ動かします。このとき、どこかのターンであるチップが・落とし穴のセ…

Codeforces Round #194 Div1A Secrets

問題ある国ではお金は1マルク硬貨、3マルク硬貨、9マルク硬貨、27マルク硬貨、・・・(以下無限) があります。 Nマルクの支払いをするときに、丁度になるようには払えなくて、お釣りをもらわないとならないことがあります(たとえば3マルク硬貨1枚し…