テキトーなメモ帳

テキトーなメモ帳

AOJ:0527 Setting Go Stones

問題文通りに実装するだけです。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #include <cstring> #include <set> #i…</set></cstring></string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>

AOJ:0571 JJOOII

Jが来た→以前の文字がJ以外なら全ての履歴をリセット Oが来た→以前の文字がIなら全ての履歴をリセット Iが来た→とにかくプッシュで、一文字読み込むごとに常にレベルNの部分文字列がちゃんとできてるか判定を行う #define _USE_MATH_DEFINES #define INF 0x3…

AOJ:1074 Popularity Estimation

問題文通りに実装するだけです。 #include <string> #include <iostream> #include <sstream> #include <map> #include <cmath> #include <string> #include <vector> #include <limits> #include <algorithm> using namespace std; int main() { vector<pair<int,string> > res; while(1){ int n; map<int,int> time; map</int,int></pair<int,string></algorithm></limits></vector></string></cmath></map></sstream></iostream></string>

AOJ:1056 Ben Toh

動的計画法です。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #include <cstring> #include <set> #include …</set></cstring></string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>

AOJ:1078 SAT-EN-3

充足可能性問題?これは、乱択アルゴリズムの出番なんじゃないか?と思って解き始めましたが この問題は入力をパイプでsplitした後、再帰下降構文解析するだけです。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #incl</sstream></iostream></cstdio>…

AOJ:2400 You Are the Judge

問題文通りに実装するだけです。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #include <cstring> #include <set> #i…</set></cstring></string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>

AOJ:1085 Spellcasters

魔力で魔法使いをソートして 魔力iより大きい魔力を持つ魔法使いの位置-魔力i以上の魔力を持つ魔法使いの位置 を求めていくと魔力iを持つ魔法使いの数を割り出すことが出来るようになります。あとは、これを利用して、魔力の合計が目標値になるような組み合…

AOJ:1266 How I Wonder What You Are!

正直、問題文中の Let us defie that θi,j is the angle between the direction of the i-th star and the center direction of the j-th telescope and φjis the angular radius of the sight field of the j-th telescope. という一文が全く理解できません…

AOJ:0517 Longest Steps

白紙が含まれないときは、しゃくとり法。 それ以外は、計算量が10000*(1+10000)/2≒5*10^7の全探索 という変なアルゴリズムですが通りました。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #includ</cstdlib></cmath></sstream></iostream></cstdio>…

AOJ:0054 Sum of Nth decimal places

入力された数を10倍 整数化 10で割ったあまりをとる を繰り返します。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #include </string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>

AOJ:0069 Drawing Lots II

全探索です。 横棒を一つ追加したパターンを全通り試します。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #include <cstring> #in…</cstring></string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>

AOJ:0012 A Point in a Triangle

面積を利用して(xp,yp)が三角形の内部にあるか判定します。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #include <cstring> #…</cstring></string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>

AOJ:1214 Walking Ant

ダイクストラ法です。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #include <cstring> #include <set> #includ…</set></cstring></string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>

AOJ:1120 Pile Up!

大分面倒ですが、問題文通りにシミュレーションです。 dequeの配列を使いました。 キューブごとに床を持っているとします。 配列の位置iは、i番目のキューブがはじめに置かれていた床の番号と一致しています。 また、配列の位置iにi番目のキューブが一つだけ…

AOJ:1217 Family Tree

各ノードの親のノードを記録した木構造を作っていきます。 一番注意するべき点は各入力文の末尾のピリオドです。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #inc</stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>…

AOJ:1216 Lost in Space

全探索です。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #include <cstring> #include <set> #include </set></cstring></string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>

AOJ:1218 Push!!

ダイクストラ法です。 コスト、the cargoの位置、the warehousemanの位置をキューに入れて回していきます。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits></limits></stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>…

AOJ:1275 And Then There Was One

シミュレーションです。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #include <cstring> #include <set> #inclu…</set></cstring></string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>

AOJ:1276 Prime Gap

与えられたある整数が素数→0を返す それ以外→lower_boundで、与えられたある整数以上の最初の素数の位置を探す(と同時に一つ前の位置も分かる)。→ギャップを返す #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #includ</sstream></iostream></cstdio>…

AOJ:1285 Grey Area

該当バーのインク使用量=該当バーの暗さの階調*(その該当バーの範囲の値の出現頻度)/(高さ最大のバーのその範囲の値の出現頻度) という式を解いていきます。 最後に0.01を足すのを忘れずに。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #</cstdio>…

AOJ:1224 Starship Hakodate-maru

全探索です。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #include <cstring> #include <set> #include </set></cstring></string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>

AOJ:1257 Sum of Consecutive prime Numbers

全探索です。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #include <cstring> #include <set> #include </set></cstring></string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>

AOJ:1241 Lagrange's Four-Square Theorem

動的計画法です。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #include <cstring> #include <set> #include …</set></cstring></string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>

AOJ:1240 Unreliable Message

変換を全て逆方向にして(例えばMr.Jの「左に全て1文字ずらす」なら「右に全て1文字ずらす」にする)、 出力から入力へ変換していきます(例えばサンプル1ならaB23dにはPMJAの順で変換を掛ける) #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #incl…

AOJ:1210 Die Game

ただのシミュレーションです。 #define _USE_MATH_DEFINES #define INF 0x3f3f3f3f #include <cstdio> #include <iostream> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #include <cstring> #include <set> #in…</set></cstring></string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></iostream></cstdio>

AOJ:1202 Mobile Phone Coverage

x,y,rを各々100倍して整数化した後、さらにx,yに20000を足して 必ずx,yが非負の値に成るようにします。 その後、ステージを100*100の領域の集合として捉え、ある100*100の領域が アンテナの電波で覆われている場合は、そこに印をつけておきます。 さいごに、…

AOJ:2409 Power

区間スケジュール問題。 貪欲法で解きました。 ある複数の(ひとつの)部屋を守りたい時に、 複数の教授を使える時は、権力の及ぶ部屋番号の数字の大きい(bの値が大きい)教授を優先的に選んでいけば良いです。 #define _USE_MATH_DEFINES #define INF 100000…

AOJ:2410 Janken

はじめに期待値をとって、最強の一手を出し続ける戦法では負けてしまいます。 そこで、50回ごとに期待値をとって目標点数350点に届きそうにない場合は手を変えるようにしました。 しかし、これで勝てるという根拠はゼロです・・・ #define _USE_MATH_DEFINES…

AOJ:2408 Social

mapを使うと楽です。 #define _USE_MATH_DEFINES #define INF 100000000 #include <iostream> #include <cstdio> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #include <cstring> #include <set> #includ…</set></cstring></string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></cstdio></iostream>

AOJ:2407 Simple Othello

oのが連続している箇所の個数がxの連続している箇所の個数以上ならoの勝ちです。 #define _USE_MATH_DEFINES #define INF 100000000 #include <iostream> #include <cstdio> #include <sstream> #include <cmath> #include <cstdlib> #include <algorithm> #include <queue> #include <stack> #include <limits> #include <map> #include <string> #incl</string></map></limits></stack></queue></algorithm></cstdlib></cmath></sstream></cstdio></iostream>…