TopCoder HighSchool tournament(TCHS) Round3

Round1はoox、Round2はoooでしたが、今日は調子のってちょっと残念でした。

Round3の参加者は250名、残るのは100名。今回はoxxでした。

Rating(TCHS): 1616 → 1692(yellow)

250

width*heightの文字の2次元配列が'.'で初期化されていて、これの縁を左上から時計回りに(phrase+".")を書きこんでいったとする。

このときの(x1,y1)-(x2,y2)で与えられた矩形内の状態を答えろ。

(x,y)座標内にある文字を判定する、を繰り返せば問題ない。C#で解いた。

550

表裏がある紙が将棋盤状に区切られていて(上下左右に余白はない)、各マスは黒か白になっている。また表にスタート、表または裏にゴールが与えられる。

迷路を解け。ただし途中、ペンのある位置を邪魔しないようであれば、垂直方向の格子に沿って水平方向に紙を折ることが許される。2つの場所が同時に折られていることはない。

マスからマスへの移動を1手、紙を折る、また折った紙を元に戻すのをそれぞれ1手とする。

紙を折った位置を用いて(x,y,z)という座標を考えてBFSで解けるはず。Javaで書こうと試みたがCoding Time Limit Exceeded

あとで書いて通した。

950

2x1のブロックと3x1のブロックが何個かある(個数が与えられる)。これを積んで完全な矩形に仕上げたい。回転禁止(C.V.斎藤千和)。全てのブロックを使う必要はないが必ず1つは使う。何通りの大きさの矩形が作れるか答えろ。

intermission中に問題文読んだ。

wrongの2分探索によるコードを読んで納得した。

総括

今回は調子悪かったので、ライフサイクル的な観点でみると次回(もし参加すれば)はよい結果でそう。なんの都合かUTC-5からUTC-4になるので日本時間が25時になりラッキー。

受けるかどうかはwrongの判断に委ねちゃおっかなー!