競プロ
B - Guidebook を解きました。 sort の工夫を覚えたのでメモ 題意 個のレストランの 所在市名 と評価 が与えられる 以下の順でレストランの番号を出力する 市名が辞書順で早いものから 同じ市に複数レストランがある場合は、評価が高いものから 考察 保持し…
D - 高橋くんの苦悩 を解きました。 題意 この問題は良くある knapsack 問題に置き換えて考えられる為、本当の題意は省略します。 与えられる変数と値は以下のように置き換えて考えます。 … knapsack の容量 … 与えられる荷物の数 … knapsack に詰めれる荷物…
C: Together - AtCoder Beginner Contest 072 | AtCoder を解きました。 題意: 長さ の整数列 が与えられます。 に対し、1 足すか、1 引くか、何もしない、の 3 つの操作が選べるので、ある整数 を選んだ時、 となる の個数の最大値を出力する。 は整数 考…
No.52 よくある文字列の問題 - yukicoder を解きました。 題意: 文字列 が与えられる。 の先頭または末尾から 1 文字取り、順に繋げて新たな文字列を作る。 先頭または末尾から 1 文字取った は、また新たな となり文字が無くなるまでこの操作を繰り返す。 …
単語の出現頻度 | Aizu Online Judge を解きました。 題意: ・英文が与えられるので、「出現頻度が最も高い単語」と、「文字数が最も多い単語」を出力する。 ・与えられる英文は半角英文字で、半角スペースを含む。 ・文章の文字数は1000文字以下 ・一つの単語の…
A: Grouping - AtCoder Beginner Contest 062 | AtCoder を解きました。 A 問題ですが、学びがあったのでメモ。 題意: ・1 から 12 までの整数が下記のようにグループ分けされています。 1, 3, 5, 7, 8, 10, 12 4, 6, 9, 11 2 ・整数 が与えられるので、 が…
No.7 プライムナンバーゲーム - yukicoder を 1ヶ月半 かけて解きました。 (何故 1ヶ月かかったのかは後述) 題意: ・はじめに先攻プレイヤーに自然数 N が与えられます。 ・N以下の素数のどれかで減算し相手に渡す、を先攻・後攻で交互に繰り返し、 N が 0 …
No.476 正しくない平均 - yukicoder を解きました。 std::accumulateの戻り値の型 にはまったのでメモ。 #include <bits/stdc++.h> using namespace std; struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; int main() { int N; long long A; cin >> N >> A</bits/stdc++.h>…
B: 3人でカードゲームイージー / Card Game for Three (ABC Edit) - AtCoder Beginner Contest 045 | AtCoder を解きました。題意: ・Aさん、Bさん、Cさんの3人でするカードゲーム。 ・Aさんのターンからゲームは始まり、各自持っているカードに書かれてい…
A: 旧総合研究7号館 - 京都大学プログラミングコンテスト2013 | AtCoderを解きました。題意: ・N個の改名後の校舎名と改名年度と、資料が作成された年度Qが与えられるので、 Q年度の校舎の名前を出力する。 ・平成元年度の校舎名は "kogakubu10gokan" ・1 …
SRM 602 div2 250:TypoCoderDiv2 を解きました。題意: TypoCoderには2種類の Rating がある。 Brown ➡︎ 1200以上 Ciel ➡︎ 1200以下 ただし新しい参加者は Rating 500 スタート。 N回分のコンテスト参加後の Rating が与えられるので何回色が変わったかを出…
C++で素数列挙!O( N√N )編 を書きましたが、 今度はもっと高速な エラトステネスの篩(ふるい)編 *1 を書いたのでコードを残します。 #include <bits/stdc++.h> using namespace std; struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; #include <vector> std::vect</vector></bits/stdc++.h>…
以前、C++で素数判定!を書いたのですが、 今回は C++で素数列挙!O( N √N ) のコードを書いたのでメモとして残します。 #include <bits/stdc++.h> using namespace std; struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; int N; vector<int> P; void prime( co</int></bits/stdc++.h>…
深さ優先探索(DFS)を勉強中で、DFSを使って解ける優しめ問題という事で、 整数の和 | Aizu Online Judge を解きました。<題意> 0 〜 9 の数字から異なる数をN個取り出して、和がSとなる組み合わせが何個あるか出力する #include <bits/stdc++.h> using namespace std; str</bits/stdc++.h>…
ICPCOOC2016 - A Rearranging a Sequence を解きました。<題意> ・N個の整数の中から、M個の整数を移動(TOPに積む)する。 ・移動する整数M個は e[ i ] で与えられる。 ・移動後の並びを出力する。 #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(in</bits/stdc++.h>…
No.218 経験値1.5倍 - yukicoderを解きました。 #include <bits/stdc++.h> using namespace std; struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; int main() { int A, B, C; cin >> A >> B >> C; cout << ( ( A + B - 1 ) / B * 2 / 3 < ( A + C - 1 ) /</bits/stdc++.h>…
No.22 括弧の対応 - yukicoder を解きました。括弧の対応、括弧列の問題は典型的な問題らしく、stack で解くと良いと教えて頂きました。 #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(n); i++) using namespace std; struct cww{cww(){ios::sync_with_stdio(</bits/stdc++.h>…
Problem - 122A - Codeforcesを解きました。 #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(n); i++) using namespace std; struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; bool check( int N ){ string S = to_string( N ); REP( i, (int</bits/stdc++.h>…
stackに慣れる為に車両入れ替え | Aizu Online Judgeを解きました。 #include <bits/stdc++.h> using namespace std; struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; int main() { int N; stack<int> st; while( cin >> N ) { if( N == 0 ){ // 0が来たら取り</int></bits/stdc++.h>…
No.24 数当てゲーム - yukicoder を解きました。 #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(n); i++) using namespace std; struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; int main() { int N; cin >> N; vector<int> res( 10, 1 ); REP( </int></bits/stdc++.h>…
C: 幅優先探索 - AtCoder Beginner Contest 007 | AtCoder を解きました。 #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(n); i++) using namespace std; typedef pair<int, int> PII; struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; const int INF </int,></bits/stdc++.h>…
No.3 ビットすごろく - yukicoder を解きました。 #include <bits/stdc++.h> using namespace std; struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; const int INF = numeric_limits<int>::max(); int f( int N ) { int count{}; while( N > 0 ) { if( N % 2 =</int></bits/stdc++.h>…
Codeforces Round #298 A-Exam を解きました。 #include <bits/stdc++.h> #define REP2(i,x,n) for(int i=x; i<(n); i++) using namespace std; struct CWW{CWW(){ios::sync_with_stdio(false);cin.tie(0);}}cww; int main() { int N; cin >> N; if( N <= 2 ) { cout << 1 <</bits/stdc++.h>…
Problem - A - Codeforces を解きました。 ktnさんに適度な問題をいくつかpick upして頂いたのですがそのうちの1問です。 (適度な問題:私のレベルに対しての適度)Duffちゃんが必要な肉の量/day と コスト/day がN日分与えられるので、 必要な肉を買う最小コ…
No.154 市バス - yukicoderを解きました。この問題、文字列の問題を探していて星★★だったし解けるかな〜?みたいな 軽い気持ちで適当に選んだのが全ての始まりでした...(序章)初めはstd::findで文字列を見つけて場合分けすればいけるのでは(?) みたいな感じ…
Problem - 208A - Codeforcesを解きました。 #include <bits/stdc++.h> using namespace std; int main() { cin.tie(0); ios::sync_with_stdio(false); string S; cin >> S; S = "WUB" + S + "WUB"; regex re( "(WUB)+" ); S = regex_replace( S, re, " " ); cout << S.subs</bits/stdc++.h>…
Problem - A - Codeforcesを解きました。 #include <bits/stdc++.h> using namespace std; string f( string S ) { string res; for( auto&& x : S ) { //★ if( string( "oayeui" ).find( x ) != string::npos ) { continue; } res += x; } return res; } int main() { cin.</bits/stdc++.h>…
Codeforces Round #65 Problem - A - Codeforcesを解きました。 #include <bits/stdc++.h> #define REP(i,n) for(int i=0; i<(n); i++) #define REP2(i,x,n) for(int i=x; i<(n); i++) using namespace std; int main () { cin.tie(0); ios::sync_with_stdio(false); int N;</bits/stdc++.h>…
Old Bridges | Aizu Online Judgeを解きました。 #include <bits/stdc++.h> #define LL long long #define ULL unsigned long long #define REP(i,n) for(int i=0; i<(n); i++) #define REP2(i,x,n) for(int i=x; i<(n); i++) using namespace std; int main (){ cin.tie(0)</bits/stdc++.h>…
No.163 cAPSlOCK - yukicoder を解きました。 #include <bits/stdc++.h> using namespace std; int main (){ string C; cin >> C; string S; for( char x : C ){ S += ( islower(x) == 0 ? tolower(x) : toupper(x) ); } cout << S << endl; return 0; } 似ているけれど役割</bits/stdc++.h>…