WARush

SRMの結果とか、解けた問題のコードを書いていきます

2013-03-04から1日間の記事一覧

Codeforces #170 Div2 D "Set of Points"

問題 整数N,Mが与えられる。 どの頂点も凸になっているM角形を作れるように、 上手い事N個の点を配置しなさい。 どの頂点も凸になっているMより多い頂点を持つ 多角形が作れちゃだめ。また、点を配置する時は任意の3つの点が一直線に並んではならないし、 …

Codeforces #170 Div2 C " Learning Languages"

問題 ある会社には社員がN人いる。 この会社は国際的なので、M個の言語が公用語として認められている。社員は予めいくつかの公用語を習得しているが、(まったく習得してない社員もいる) 会社が支持すればあらたな言語を学ばせる事も出来る。 ただし、1人…

Codeforces #170 Div2 B "New Problem"

問題 文字列がN個与えられる。 これらの文字列のどの部分文字列とも一致しないような なるべく長さの短い文字列を返せ。 そのような文字列が複数あるのなら、 辞書順で最も小さいものを返せ。 例) インプット N = 2 hello world apple アウトプット bインプ…

Codeforces #170 Div2 A "Circle Line"

問題 駅がN個ある。 各駅に番号が1からNまで振られている。 例えばNが4だったら 駅は1 - 2 - 3 - 4 - 1 と繋がっていて(山の手線みたいな感じ) その距離が与えられている。指定された駅A,Bの最短距離を求めよ。 つまり内回りがよいか、外回りが良いか 制…

Codeforces #169 Div2 C "Little Girl and Maximum Sum"

問題 要素数Nの整数の配列がある。 また、配列のインデックスLからRまでの総和を求めよという クエリがQ個ある。クエリの結果の合計値が最も大きくなるように 配列を並べ替えた時、その合計値を返せ。 制約 1 1 考えた事 クエリ一個一個調べてって、 このイ…

Codeforces #169 Div2 D "Little Girl and Maximum XOR"

問題 AからBの間でXORしたときに最大になるような 2つの整数を選び、そのXORしたときの値を返せ。例) A=1 B=2 2(10) xor 1(01) = 3(11)が最大A=8 B=16 15(01111) xor 16(10000) = 31(11111)が最大A=1 B=1 1(1) xor 1(1) = 0(0)が最大 制約 1 考えた事(2時…

Codeforces #169 Div2 B "Little Girl and Game"

問題 次のようなゲームがある。2人でプレイし、交互にターンが回ってくる。 文字列Sが与えられている。 ターンが回ってきたら、Sを好きなように並べ替えて、 回文が作れたら勝ち。 回文が作れなければどれか1文字削除する。 文字列Sが与えられた時に、先行…

Codeforces #169 Div2 A "Lunch Rush"

問題 休憩時間K分を使ってレストランに食事を取りに行く この辺りにはレストランがN個ある。 各レストランには満足度Fと食事にかかる時間Tが与えられている。 満足度はT T>KであればF-(T-K)となる。(この場合、満足度が0より小さくなる事もある)一番高い満足…

Codeforces #168 Div2 C "k-Multiple Free Set"

問題 k-Multiple Free Setとは、 任意の2つの要素x,y(x<y)において、x*k=yとなるような 要素のペアがない整数の集合である。n個の整数の集合とkが与えられるので、 ここからk-Multiple Free Setとなるような部分集合を作った時の 最大の要素数を返せ。 制…

Codeforces #168 Div2 B "Convex Shape"

問題 黒または白に塗られているN×Mのマス目がある。 黒のマス=移動可能 白のマス=壁(移動不可能) 隣の上下左右の黒マスに移動できる。任意の2つの黒のマスにおいて、曲がる回数を一回までに限定して 行ったりきたり出来ちゃう場合は"YES"を そうでない…

Codeforces #168 Div2 A "Lights Out"

問題 3×3のマス目にランプのスイッチがある。 あるマスのスイッチを押すと、 そのマスと上下左右に隣り合うマスのランプのON/OFFが切り替わる。 全てのランプは初めOFFになっている。各マスのスイッチの押した回数が与えられるので、 ランプがONになってい…

SRM567 Div2 Medium "TheSquareRootDilemma"

問題 2つの整数を引数に取り、下記のような値を返すSSRという関数がある SSR(A, B) = (sqrt(A)+sqrt(B))^2NとMが与えられる。 1 SSRが整数を返す場合の数を返せ。 制約 1 1 考えた事 時間内ではNとMで全探索するものしか思いつかず forループ内でbreak使っ…

SRM567 Div2 Easy "NinjaTurtles"

問題: 4匹の亀がいる。 この亀たちはピザが大好きなのだが何枚食べるかは倒した敵の数による。 倒した敵の数をNとすると、 3匹の亀はN/K枚食べる。 1匹はN/3枚食べる。(いずれも小数点以下は切り捨て)PとKが与えられるから、4匹の亀がちょうど…

SRM554 Div2 Medium "TheBrickTowerMediumDivTwo"

問題 高さがいろいろな塔を一列に並べる。 ただし、隣り合う塔は高いほうの塔の高さだけ、距離をとる必要がある。塔の高さheightsが与えられるので、 距離がなるべくとらないような置き方を返せ。 そのような置き方が複数ある場合、辞書順で一番小さいものを…

SRM554 Div2 Easy " TheBrickTowerEasyDivTwo"

問題 赤色と青色のレンガを積み重ねて塔を作る。 赤と青のレンガは交互に積み重ねていかなくてはいけない。 一番下は赤と青どちらでもよい。赤色と青色のレンガの数(redCount, redHeight)と高さ(redHeight, blueHeight)が与えられた時、 高さが異なる塔が何…

SRM571 Div2 Hard "MagicMoleculeEasy"

問題 マジック原子がN個ある。 それぞれのマジック原子はマジックパワーを持っている。 また、マジック原子はグラフみたいに双方向につながってたりする。ここからマジックパワーの和が最大になるようにマジック原子をK個選んだ時の、 マジックパワーの値…

SRM571 Div2 Medium "FoxAndMp3Easy"

問題 整数Nが与えられるので "1.mp3", "2.mp3", "3.mp3", 4.mp3" ....... "N-1.mp3", "N.mp3" という文字列を辞書順にならべたリストを返せ。 もし文字列が50個を超えるようなら最初の50個だけリストに入れて返せ。 制約 1 考えた事 1000以下なので、全部突…

SRM571 Div2 Easy "FoxAndGame"

問題 "xxx", "oxx", "oox", "ooo" 上記のいずれかの文字列のリストが与えられるので、 リストに含まれる'o'の数の合計を返せ。 制約 1 ソース class FoxAndGame{ public: int countStars(vector<string> result){ string stars[4] = { "---," "oxx", "oox", "ooo" };</string>…

SRM556 Div2 Medium "XorTravelingSalesman"

問題 頂点に値がある双方向に移動できるグラフが与えられる。 現在のポイントをPとし、値Vの頂点に移動した時、 ポイントはP XOR Vになる。 例) ポイントが5のときに値3の頂点に移動すると、 ポイントが6になる。 5(0101) XOR 3(0011) = 6(0110)移動回数に…

SRM556 Div2 Easy "ChocolateBar"

問題 文字列Sが与えられる。 Sから同じ文字がないような部分文字列を作る時、 最も長い部分文字列の長さを返せ。 制約 1 方針 部分文字列を取り始める位置について全探索する ソースコード class ChocolateBar { public: int maxLength(string letters){ int…

SRM 557 Div2 Hard "FoxAndMountain"

問題(超意訳) 'U'と'D'を同じ数だけ使って長さNの文字列を作る。 つまり'U'と'D'をそれぞれN/2個ずつ使うのだが、 文字列を作っていく途中で、'D'の数が'U'の数を上回ってはならない。 例) UUDDUD おk UDDUUD だめ UDDまで作った時にDがUより多くなってる…

SRM 557 Div2 Medium "IncubatorEasy"

問題 女の子がいっぱいいる。 女の子たちはそれぞれ、好きな女の子がいる。 片思いかもしれないし、両思いかもしれない。 自分自身が好きってこともありうる。あなたは魔法使いで、普通の女の子を魔法少女にすることが出来る。 ただし、この魔法を使うと、女…

SRM557 Div2 Easy "GreatFairyWar"

問題 妖精がN匹現れた! i番目の妖精は1秒間にD(i)のダメージを与えてくる! i番目の妖精のHPはH(i)である!味方は妖精を順番に倒していかなくてはならない!(1, 2, 3 ... N-1, N) 味方は妖精に対し1秒間に1ダメージ与える!この戦いに勝つために、最低限…

SRM559 Div2 Hard "ToyTrain"

問題 おもちゃの王様がいます。 王様は広大な土地を所有しており、その土地は正方形のグリッドで地区に区切られています。 また、この土地には9人の領主が住んでおり、 いくつかの地区はこれら9人の領主に所有権を与えています。王様は冬の祭典を開催する…

SRM559 Div2 Medium HyperKnight

問題 ハイパーナイトの動きを表す2つの整数a,bが与えられる。 ハイパーナイトは (a,b) (b,a) (a,-b) (b,-a) (-a,b) (-b,a) (-a,-b) (-b,-a) の八箇所に動ける。 a=1, b=2だったら普通のナイトの動きになる。マス目の数がR*Cのチェスボードがある。 このボー…

SRM559 Div2 Easy BlockTower

問題 ブロックがN個あり、 そのブロックには0からN-1のインデックスが割り当てられている。 また、それぞれのブロックの高さが分かっている。 ブロックを積み上げてタワーを作りたいのだが、 下記のようなルールがある。1. ブロックはインデックスがより大き…

SRM559 Div2 結果(練習)

難易度 Submit ポイント Easy 忘 130? Medium - - Hard - - むずい・・・