ABC

C - 収集王 / AtCoderBeginnerContest#023

abc023.contest.atcoder.jp #include <iostream> #include <vector> using namespace std; #define MAX 100000 typedef pair<int,int> P_II; void Solve(int r, int c, int k) { int n, rr, cc, row[MAX+1]={0}, col[MAX+1]={0}, count_row[MAX+1]={0}, count_col[MAX+1]={0}; long long</int,int></vector></iostream>…

B - 手芸王 / AtCoderBeginnerContest#023

abc023.contest.atcoder.jp #include <iostream> #include <string> using namespace std; void Solve(int n) { string s, str="b"; int answer; cin >> s; for (int i=1; i<=n; ++i) { if (i%3 == 1) str='a'+str+'c'; else if (i%3 == 2) str='c'+str+'a'; else str='b'+str+</string></iostream>…

A - 加算王 / AtCoderBeginnerContest#003

abc023.contest.atcoder.jp #include <iostream> using namespace std; void Solve(int n) { cout << n/10+n%10 << endl; } int main(void) { int n; cin >> n; Solve(n); return 0; } 2桁目と1桁目の足し算を行い結果を出力。 〜了〜</iostream>

C - Blue Bird / AtCoderBeginnerContest#022

abc022.contest.atcoder.jp #include <algorithm> #include <iostream> using namespace std; #define INF (1<<29) int d[300][300]; void Warshall_Floyd(int n) { for (int k=1; k</iostream></algorithm>

B - Bumble Bee / AtCoderBeginnerContest#022

abc022.contest.atcoder.jp #include <iostream> using namespace std; void Solve(int n) { int a, data[100000]={0}, answer=0; for (int i=0; i<n; ++i) { cin >> a; ++data[a-1]; if (data[a-1] >= 2) ++answer; } cout << answer << endl; } int main(void) { int n; cin >> n; So</n;></iostream>…

A - Best Body / AtCoderBeginnerContest#022

abc022.contest.atcoder.jp #include <iostream> using namespace std; void Solve(int n, int s, int t) { int w, a, answer=0; cin >> w; if (s<=w && w<=t) ++answer; for (int i=1; i<n; ++i) { cin >> a; w+=a; if (s<=w && w<=t) ++answer; } cout << answer << endl; } int main</n;></iostream>…

C - 正直者の高橋くん / AtCoderBeginnerContest#021

abc021.contest.atcoder.jp #include <algorithm> #include <functional> #include <iostream> #include <queue> #include <vector> #include <utility> using namespace std; #define INF (1<<29) const long long MOD = 1e9+7; struct edge { int to, cost; edge(int a, int b) {to=a, cost=b;} }; typedef pair<int,int>…</int,int></utility></vector></queue></iostream></functional></algorithm>

B - 嘘つきの高橋くん / AtCoderBeginnerContest#021

abc021.contest.atcoder.jp #include <iostream> using namespace std; void Solve(int n) { int a, b, k, p, data[100]={0}; bool flg=true; cin >> a >> b; data[a-1]=data[b-1]=1; cin >> k; for (int i=0; i<k; ++i) { cin >> p; ++data[p-1]; } for (int i=0; i<n; ++i) if (data[i] >= 2) flg=false; co</n;></k;></iostream>…

A - 足し算 / AtCoderBeginnerContest#021

abc021.contest.atcoder.jp #include <iostream> using namespace std; void Solve(int n) { cout << n << endl; for (int i=0; i<n; ++i) cout << 1 << endl; } int main(void) { int n; cin >> n; Solve(n); return 0; } 入力した値を出力し、その回数分だけ1を出力する。 〜了〜</n;></iostream>

C - 壁抜け / AtCoderBeginnerContest#020

abc020.contest.atcoder.jp #include <iostream> #include <queue> #include <string> using namespace std; #define INF (1LL<<60) typedef pair<int,int> P_II; int h, w, t; string str[10]; P_II start, goal; bool BFS(int middle) { queue<P_II> que; long long cost[10][10]; const int dx[4]=</p_ii></int,int></string></queue></iostream>…

B - 足し算 / AtCoderBeginnerContest#020

abc020.contest.atcoder.jp #include <iostream> using namespace std; void Solve(int a, int b) { int number=b, digit=1; while (number > 0) { digit*=10; number/=10; } cout << (a*digit+b)*2 << endl; } int main(void) { int a, b; cin >> a >> b; Solve(a,b);</iostream>…

A - クイズ / AtCoderBeginnerContest#020

abc020.contest.atcoder.jp #include <iostream> #include <string> using namespace std; void Solve(int q) { string answer[2]={"ABC", "chokudai"}; cout << answer[q-1] << endl; } int main(void) { int q; cin >> q; Solve(q); return 0; } 入力の値が1ならABC、2ならch</string></iostream>…

C - 高橋くんと魔法の箱 / AtCoderBeginnerContest#019

abc019.contest.atcoder.jp #include <iostream> #include <set> using namespace std; void Solve(int n) { set<int> se; int a; se.clear(); for (int i=0; i<n; ++i) { cin >> a; while (a%2 == 0) a/=2; se.insert(a); } cout << se.size() << endl; } int main(void) { int n; cin >> n; Sol</n;></int></set></iostream>…

B - 高橋くんと文字列圧縮 / AtCoderBeginnerContest#019

abc019.contest.atcoder.jp #include <iostream> #include <string> using namespace std; void Solve(string str) { int count=1; for (int i=1; i<=str.length(); ++i) if (str[i-1] == str[i]) ++count; else { cout << str[i-1] << count; count=1; } cout << endl; } int </string></iostream>…

A - 高橋くんの年齢 / AtCoderBeginnerContest#019

abc019.contest.atcoder.jp #include <algorithm> #include <iostream> using namespace std; void Solve(void) { int num[3]; for (int i=0; i<3; ++i) cin >> num[i]; sort(num,num+3); cout << num[1] << endl; } int main(void) { Solve(); return 0; } 昇順に並び替えて2番目</iostream></algorithm>…

C - 菱形カウント / AtCoderBeginnerContest#018

abc018.contest.atcoder.jp #include <iostream> #include <string> using namespace std; int r, c, k; string s[500]; void check(int y, int x) { for (int i=0; i</string></iostream>

B - 文字列の反転 / AtCoderBeginnerContest#018

abc018.contest.atcoder.jp #include <algorithm> #include <iostream> #include <string> using namespace std; void Solve(string str) { int n, l, r; cin >> n; for (int i=0; i<n; ++i) { cin >> l >> r; --l; --r; for (int j=0; j<(r-l+1)/2; ++j) swap( str[l+j],str[r-j] ); } cout << str << end</n;></string></iostream></algorithm>…

A - 豆まき / AtCoderBeginnerContest#018

abc018.contest.atcoder.jp #include <iostream> using namespace std; void Solve(void) { int num[3], rank[3]; for (int i=0; i<3; ++i) rank[i]=1; for (int i=0; i<3; ++i) cin >> num[i]; for (int i=0; i<3; ++i) for (int j=0; j<3; ++j) if ( i!=j && num[i]></iostream>…

C - ハイスコア / AtCoderBeginnerContest#017

abc017.contest.atcoder.jp #include <algorithm> #include <iostream> using namespace std; #define MAX 100000 void Solve(int n, int m) { int l, r, s, data[MAX+1]={0}, sum=0, answer=0; for (int i=0; i<n; ++i) { cin >> l >> r >> s; data[l-1]+=s; data[r]-=s; sum+=s; } for (int i=0;</n;></iostream></algorithm>…

B - choku語 / AtCoderBeginnerContest #017

abc017.contest.atcoder.jp #include <iostream> #include <string> using namespace std; void Solve(string x) { int pos=0; while( pos < x.length() ) { if (x[pos]=='c' && x[pos+1]=='h') pos+=2; else if (x[pos] == 'o') ++pos; else if (x[pos] == 'k') ++pos; else i</string></iostream>…

A - プロコン / AtCoderBeginnerContest#017

abc017.contest.atcoder.jp #include <iostream> using namespace std; void Solve(void) { int s, e, answer=0; for (int i=0; i<3; ++i) { cin >> s >> e; answer += s*e/10; } cout << answer << endl; } int main(void) { Solve(); return 0; } (配点) * 評価 / 10</iostream>…

C - 友達の友達 / AtCoderBeginnerContest#016

#include <algorithm> #include <iostream> using namespace std; #define INF (1<<29) int data[10][10]; void Warshall_Floyd(int n) { for (int i=0; i</iostream></algorithm>

B - A±B Problem / AtCoderBeginnerContest#016

abc016.contest.atcoder.jp #include <iostream> using namespace std; void Solve(int a, int b, int c) { char ch[4]={'?', '+', '-', '!'}; int pos=0; if (a+b==a-b && a+b==c) pos=0; else if (a+b == c) pos=1; else if (a-b == c) pos=2; else pos=3; cout << c</iostream>…

A - 12月6日 / AtCoderBeginnerContest#016

abc016.contest.atcoder.jp #include <iostream> using namespace std; void Solve(int m, int d) { cout << ( !(m%d)? "YES" : "NO" ) << endl; } int main(void) { int m, d; cin >> m >> d; Solve(m,d); return 0; } 剰余が0の場合はYES, それ以外はNOを出力。 〜了</iostream>…

A - 高橋くんの研修 / AtCoderBeginnerContest#015

abc015.contest.atcoder.jp #include <iostream> #include <string> using namespace std; void Solve(string a, string b) { cout << (a.length()>b.length()? a : b); } int main(void) { string a, b; cin >> a >> b; Solve(a,b); return 0; } 文字数が長い文字列を出力。 </string></iostream>…

C - 高橋くんのバグ探し / AtCoderBeginnerContest#015

abc015.contest.atcoder.jp #include <iostream> using namespace std; int n, k; int t[5][5]; bool dfs(int query, int value) { if (query == n) return (!value? true : false); for (int j=0; j</iostream>

B - 高橋くんの集計 / AtCoderBeginnerContest#015

abc015.contest.atcoder.jp #include <iostream> using namespace std; void Solve(int n) { int a, count=0; double sum=0.0; for (int i=0; i<n; ++i) { cin >> a; if (a == 0) ++count; sum+=a; } cout << (int)(sum/(n-count)+0.9) << endl; } int main(void) { int n; cin >> n; S</n;></iostream>…

C - AtColor / AtCoderBeginnerContest#014

abc014.contest.atcoder.jp #include <algorithm> #include <iostream> using namespace std; void Solve(int n) { int a, b, sum=0, answer=0, color[1000000+1]={0}; for (int i=0; i<n; ++i) { cin >> a >> b; ++color[a]; --color[b+1]; } for (int i=0; i<=1000000; ++i) { sum += color[i]; </n;></iostream></algorithm>…

B - 価格の合計 / AtCoderBeinnerContest#014

abc014.contest.atcoder.jp #include <iostream> using namespace std; void Solve(int n, int x) { int a[20], answer=0; for (int i=0; i<n; ++i) cin >> a[i]; for (int k=0; k<n; ++k) if (x >> k & 1) answer+=a[k]; cout << answer << endl; } int main(void) { int n, x; cin >> n >> x; Solve</n;></n;></iostream>…

A - けんしょう先生のお菓子配り / AtCoderBeginnerContest#014

abc014.contest.atcoder.jp #include <iostream> using namespace std; void Solve(int a, int b) { (a%b)? cout << b-a%b << endl : cout << 0 << endl; } int main(void) { int a, b; cin >> a >> b; Solve(a,b); return 0; }</iostream>