C++競プロ学習日記(仮)

( 学習記録であり解説Blogではないです )

競プロ

ABC062 A - Grouping|AtCoder

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|メモ化再帰

No.7 プライムナンバーゲーム - yukicoder を 1ヶ月半 かけて解きました。 (何故 1ヶ月かかったのかは後述) 題意: ・はじめに先攻プレイヤーに自然数 N が与えられます。 ・N以下の素数のどれかで減算し相手に渡す、を先攻・後攻で交互に繰り返し、 N が 0 …

No.476 正しくない平均|yukicoder

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>…

ABC045 - B 3人でカードゲームイージー|AtCoder

B: 3人でカードゲームイージー / Card Game for Three (ABC Edit) - AtCoder Beginner Contest 045 | AtCoder を解きました。題意: ・Aさん、Bさん、Cさんの3人でするカードゲーム。 ・Aさんのターンからゲームは始まり、各自持っているカードに書かれてい…

KUPC2013 A - 旧総合研究7号館|AtCoder

A: 旧総合研究7号館 - 京都大学プログラミングコンテスト2013 | AtCoderを解きました。題意: ・N個の改名後の校舎名と改名年度と、資料が作成された年度Qが与えられるので、 Q年度の校舎の名前を出力する。 ・平成元年度の校舎名は "kogakubu10gokan" ・1 …

SRM 602 Div2 Level-1 250:TypoCoderDiv2

SRM 602 div2 250:TypoCoderDiv2 を解きました。題意: TypoCoderには2種類の Rating がある。 Brown ➡︎ 1200以上 Ciel ➡︎ 1200以下 ただし新しい参加者は Rating 500 スタート。 N回分のコンテスト参加後の Rating が与えられるので何回色が変わったかを出…

C++で素数列挙!エラトステネスの篩 編

C++で素数列挙!O( N√N )編 を書きましたが、 今度はもっと高速な エラトステネスの篩(ふるい)編 *1 を書いたのでコードを残します。 #include <bits/stdc++.h> using namespace std; struct cww{cww(){ios::sync_with_stdio(false);cin.tie(0);}}star; int N; //エラトステ</bits/stdc++.h>…

C++で素数列挙!O( N √N )編

以前、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>…

Sum of Integers|AOJ|深さ優先探索(DFS)

深さ優先探索(DFS)を勉強中で、DFSを使って解ける優しめ問題という事で、 整数の和 | Aizu Online Judge を解きました。<題意> 0 〜 9 の数字から異なる数をN個取り出して、和がSとなる組み合わせが何個あるか出力する #include <bits/stdc++.h> using namespace std; str</bits/stdc++.h>…

ICPCOOC 2016 - A Rearranging a Sequence|AOJ

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

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

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>…

Round#91 A. Lucky Division|Codeforces

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>…

Switching Railroad Cars|AOJ|stack

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

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>…

ABC007-C 幅優先探索|AtCoder

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|幅優先探索(BFS)

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>…

Round #298 A-Exam|Codeforces

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>…

Round #326 A. Duff and Meat|Codeforces

Problem - A - Codeforces を解きました。 ktnさんに適度な問題をいくつかpick upして頂いたのですがそのうちの1問です。 (適度な問題:私のレベルに対しての適度)Duffちゃんが必要な肉の量/day と コスト/day がN日分与えられるので、 必要な肉を買う最小コ…

No.154 市バス|yukicoder

No.154 市バス - yukicoderを解きました。この問題、文字列の問題を探していて星★★だったし解けるかな〜?みたいな 軽い気持ちで適当に選んだのが全ての始まりでした...(序章)初めはstd::findで文字列を見つけて場合分けすればいけるのでは(?) みたいな感じ…

Round #130 A. Dubstep|Codeforces

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>…

Round #89 A. String Task|Codeforces

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>…

#65 A. Way Too Long Words|Codeforces

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|AOJ

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

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>…

No.239 にゃんぱすー|yukicoder

No.239 にゃんぱすー - yukicoder を解きました。 #include <bits/stdc++.h> using namespace std; int main (){ int n; cin >> n; string s[100][100]; for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ cin >> s[ i ][ j ]; } } set<int> st; for(int i=0; i</int></n;></bits/stdc++.h>

No.289 数字を全て足そう|yukicoder

No.289 数字を全て足そう - yukicoder を解きました。 私の提出は見苦しいので省略。この問題は string で受け取った アルファベット + 整数 の文字列の中から 整数部分を取り出して総和を取る問題です。 string →int の変換は std::stoi() しか使った事がな…

ABC037-B 編集|AtCoder|std::fill()

B: 編集 - AtCoder Beginner Contest 037 | AtCoder を解きました。 コンテストの日に提出したコードは自分でも謎すぎて説明出来ないので割愛。 提出し直したものを...↓ #include <bits/stdc++.h> using namespace std; int main(){ cin.tie(0); ios::sync_with_stdio(false</bits/stdc++.h>…

ABC037-A 饅頭|AtCoder

A: 饅頭 - AtCoder Beginner Contest 037 | AtCoder を解きました! #include <bits/stdc++.h> using namespace std; int main(){ cin.tie( 0 ); ios::sync_with_stdio( false ); int a,b,c; cin >> a >> b >> c; int res1 = c/a; int res2 = c/b; cout << max(res1,res2) <</bits/stdc++.h>…

Aizu PR|AOJ

会津PR | Aizu Online Judge を解きました。コードは置いといて、getline(cin,str)したら出力時の謎の改行に悩みました。 getline()時に改行コードを読み込んでしまっているらしかったので cinした後にcin.ignore();を書き加え改行コード読み飛ばしをしまし…

ICPC Score Totalizer Software|AOJ

ICPC Score Totalizer Software | Aizu Online Judge を解きました。 #include <bits/stdc++.h> using namespace std; int main(){ cin.tie( 0 ); ios::sync_with_stdio( false ); while(true){ int n; cin >> n; if(n == 0){ break; } int MAX = INT_MIN ,MIN = INT_MAX; v</bits/stdc++.h>…

ARC052-A 何期生?|AtCoder

A: 何期生? - AtCoder Regular Contest 052 | AtCoder を解きました。 私のコードは謎解法なのでどうでも良いです。 新しく覚えた関数をメモります! #include <bits/stdc++.h> using namespace std; int main(){ char S; cin >> S; if( isdigit( S ) ){ //数字判定 cout <</bits/stdc++.h>…

ARC050-A 大文字と小文字|AtCoder

A: 大文字と小文字 - AtCoder Regular Contest 050 | AtCoder を解きました。 #include <bits/stdc++.h> using namespace std; int main(){ string C,c; cin >> C >> c; transform(C.begin(), C.end(), C.begin(), ::tolower); cout << ( C == c ? "Yes" : "No" ) << endl; </bits/stdc++.h>…

minmax(), minmax_element()

No.292 芸名 - yukicoder を解いた時に学んだことメモ。 参考:とーらすさんの提出 #include <bits/stdc++.h> using namespace std; int main(){ int i, j; cin >> i >> j; auto temp = minmax(i, j); cout << temp.first << endl; //min値 cout << temp.second << endl; //</bits/stdc++.h>…

複素数

複素数を扱うライブラリヘッダ #include <complex>cpprefjp.github.io</complex>

ARC049-A "強調"|AtCoder

今日はARC049に参加して A: "強調" - AtCoder Regular Contest 049 | AtCoder を解きました! #include<bits/stdc++.h> using namespace std; int main() { string s; int a,b,c,d; cin >> s >> a >> b >> c >> d; int len=s.size(); for(int i=0; i<=len; i++){ if(i==a){s</bits/stdc++.h>…

ARC021-A DEAD END|AtCoder

A: DEAD END - AtCoder Regular Contest 021 | AtCoderを解きました! #include <bits/stdc++.h> using namespace std; int main() { int a, n{16}; vector<int> vc; bool flag=false; while(cin>>a){vc.push_back(a);} for(int i=0; i</int></bits/stdc++.h>

ARC039-A A - B problem|AtCoder

A: A - B problem - AtCoder Regular Contest 039 | AtCoderを解きました。 #include <bits/stdc++.h> using namespace std; int main() { string a,b,temp1,temp2; int n{3}; int MIN = std::numeric_limits<int>::min(); cin>>a>>b; string tp1=a; string tp2=b; for(int i=0; i</int></bits/stdc++.h>

ARC036 A - ぐっすり|AtCoder

A: ぐっすり - AtCoder Regular Contest 036 | AtCoderを解きました。 3回に渡ってコードを修正提出しました...。 #include<bits/stdc++.h> using namespace std; int main(){ int n,k,t,res{0},sum{0}; vector<int> vc; cin >> n >> k; while(cin>>t){ vc.push_back(t); } bool </int></bits/stdc++.h>…

ARC023 A - 経過日数|AtCoder

A: 経過日数 - AtCoder Regular Contest 023 | AtCoderを解きました。 問題文に解法そのままの数式が載っていたのですが... 経過日数のコードとか初めて書くので自分で書いてみたかった! (少し前にちょまどさんがTwitterのbotで閏年の計算が〜とか言ってい…

文字列カウント

今週は文字列強化週間で、文字列の問題をTLで捕捉したので解いてみた。/*----------問題文引用----------*/AとBで作られた文字列Sが与えられる。Sの長さは100以下である。 S中のBは好きなアルファベットに変えることができる。 Sに含まれる文字列ABCDの個数…

ARC-048 A - 階段の下|AtCoder

ARCA: 階段の下 - AtCoder Regular Contest 048 | AtCoder に参加しました。問題の意味...というか0階がない...1階がFirst Floor(?)みたいな 変な葛藤をずっとしていて、一旦A問題を離れてB問題を考えていたら 普通に場合分けで良いのでは?と思えたのでそ…

No.345 最小チワワ問題|yukicoder

yukicoderのNo.345 最小チワワ問題が初心者的に大変学習的だった。 もしかしたら3重loopの問題を初めて解いたかも知れないという事で全然解けなかった。 まず3重もあったらloopから抜けられないという事に直面した。 そこで「C++ for loop 抜けられない 終了…

C++で素数判定!

AtCoderのARC044-Aで「素数判定」という問題を解きました。 A: 素数判定 - AtCoder Regular Contest 044 | AtCoder解答の中で初めて素数判定のコードを書いて教育的だったのでコードを残します。 ※ARC-Aの解答コードではないです。 #include<bits/stdc++.h> typedef long long</bits/stdc++.h>…

CODE FESTIVAL 2015 あさぷろEasy A - ヘイホー君と加算

kouさんに無言でURLだけリプライされたので解いたです(多分解けの意code-festival-2015-morning-easy.contest.atcoder.jp #include<iostream> #include<cmath> using namespace std; int main(){ int n; cin >> n; int x = sqrt(n);//平方根 if(x*x==n){//等しい場合 cout << </cmath></iostream>…

No.311 z in FizzBuzzString / yukicoder

www.adventar.orgAdvent Calendar Contest Advent Calendar 2015の問題で ★1があったので解けそう!!って思って解いてみました↓ #include<iostream> using namespace std; int main(){ long long int n,count=0; cin >> n; for(long long int i=1; i</iostream>

Codeforces Round #333 (Div. 2)-A

またCodeforces誘われた(なぜ(本当なぜcodeforces.comA問題だけ見て寝ようと思って問題を読んだら... 2進法、3進法、16進法が出て来てて...そもそも知識として余り無く、 解法全く解らなかったので、未解決フラグ立てて残しておきます。n進法の実装など今の…

初CODE FORCES

先日初めてCODE FORCESに登録してみました!(参加ではない)div2のA問題なら解けるのでは?と前々から色々な人に言われていたのですが、 過去問をいくつか見ても解ける気がせず...先延ばしにしていた。 でもその日もお誘い頂いたので問題だけ覗いてみようと思…