AtCoder

AtCoder abc346 参加メモ

UNIQUE VISION Programming Contest 2024 Spring(AtCoder Beginner Contest 346) - AtCoder B - Piano w, b の制約が 100 以下のため十分な長さの s を用意しておいて全探索する #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' const string t = "wbwbwwbwbwbw"; int main() { int w,b; cin >…</n;i++)></bits/stdc++.h>

AtCoder abc343 参加メモ

AtCoder Beginner Contest 343 - AtCoder B - Adjacency Matrix 隣接行列を隣接リストにする #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { int n; cin >> n; vector g(n,vector<int>()); REP(i,n) REP(j,n) { int a; cin >> a; if (a == 1) g[i].push_back(</int></n;i++)></bits/stdc++.h>…

AtCoder abc342 参加メモ

HUAWEI Programming Contest 2024(AtCoder Beginner Contest 342) - AtCoder B - Which is ahead? #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { int n; cin >> n; vector<int> p(n); REP(i,n) cin >> p[i]; vector<int> m(n+1); REP(i,n) m[p[i]]…</int></int></n;i++)></bits/stdc++.h>

abc340 E - Mancala 2

E - Mancala 2 ac library の lazy segtree を使った解法 #include <bits/stdc++.h> #include <atcoder/all> using namespace atcoder; using namespace std; #define REP(i,n) for(int i=0;i</atcoder/all></bits/stdc++.h>

AtCoder abc340 参加メモ

KAJIMA CORPORATION CONTEST 2024(AtCoder Beginner Contest 340) - AtCoder B - Append 問題文をそのまま実装 #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { int q; cin >> q; vector<int> v; while(q--) { int t,x; cin >> t >> x; if (t == 1) v.push_b</int></n;i++)></bits/stdc++.h>…

AtCoder abc333 参加メモ

Toyota Programming Contest 2023#8(AtCoder Beginner Contest 333) - AtCoder B - Pentagon #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { string s,t; cin >> s >> t; auto f = [&](string s) { int x = s[0]-'A', y = s[1]-'A'; int d = abs(x-…</n;i++)></bits/stdc++.h>

AtCoder abc325 参加メモ

KEYENCE Programming Contest 2023 Autumn(AtCoder Beginner Contest 325) - AtCoder B - World Meeting 全探索。0時〜23時の時間を決め打ってその時間に最大何人参加できるかを計算する #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { int n; cin >> </n;i++)></bits/stdc++.h>…

AtCoder abc324 参加メモ

Japan Registry Services (JPRS) Programming Contest 2023 (AtCoder Beginner Contest 324) - AtCoder B - 3-smooth Numbers 2 と 3 で割れるだけ割った結果が 1 であれば Yes #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i</bits/stdc++.h>

AtCoder arc166 B - Make Multiples

B - Make Multiples 公式解説 を元に解いたのでメモ。 #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' using ll = long long; template<class T> void chmin(T& a, T b) { a = min(a,b); } int main() { ll n,a,b,c; cin >> n >> a >> b >> c; vector<ll> x(n); REP(i,n) cin >>…</ll></n;i++)></bits/stdc++.h>

AtCoder arc166 A - Replace C or Swap AB

A - Replace C or Swap AB 公式解説 を元に解いたのでメモ。 解説を見てもなかなかシュッと実装できなくて難しい #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { int t; cin >> t; REP(_,t) { int n; string x,y; cin >> n >> x >> y; x += 'C'; y += 'C</n;i++)></bits/stdc++.h>…

AtCoder abc323 参加メモ

UNIQUE VISION Programming Contest 2023 Autumn(AtCoder Beginner Contest 323) - AtCoder B - Round-Robin Tournament それぞれ勝った回数をカウントして、回数の多い順に sort する。 勝ち数が同じ場合には番号の早い順となるため注意。 #include <bits/stdc++.h> using </bits/stdc++.h>…

AtCoder abc322 参加メモ

AtCoder Beginner Contest 322 - AtCoder B - Prefix and Suffix 問題文通りに愚直にやる #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { int n,m; cin >> n >> m; string s,t; cin >> s >> t; auto t1 = t.substr(0,n); auto t2 = t.substr(m-n); int ans</n;i++)></bits/stdc++.h>…

AtCoder abc321 参加メモ

SuntoryProgrammingContest2023(AtCoder Beginner Contest 321) - AtCoder B - Cutoff N ラウンド目に取り得る値を全探索する #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { int n,x; cin >> n >> x; vector<int> a(n-1); REP(i,n-1) cin >> a[i]; int ans =</int></n;i++)></bits/stdc++.h>…

AtCoder ARC 165 B - Sliding Window Sort 2

B - Sliding Window Sort 2 公式解説 を読んで AC したので紹介。 添字をバグらせ続けてなかなか苦戦したので、誰かの参考になれば。 Submission #45783935 - AtCoder Regular Contest 165 #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { int n,k; cin >> </n;i++)></bits/stdc++.h>…

AtCoder abc320 参加メモ

Toyota Programming Contest 2023#5(AtCoder Beginner Contest 320) - AtCoder B - Longest Palindrome 二重ループで全探索。回文は reverse した文字列と等しいかどうかで判定 #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { string s; cin >> s; int n </n;i++)></bits/stdc++.h>…

AtCoder abc312 参加メモ

UNIQUE VISION Programming Contest 2023 Summer(AtCoder Beginner Contest 312) - AtCoder B - TaK Code 制約が小さいので、すべての (i,j) から 9x9 マスを条件に沿っているか全探索すればいい。 #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int</bits/stdc++.h>…

AtCoder abc311 参加メモ

Toyota Programming Contest 2023#4(AtCoder Beginner Contest 311) - AtCoder B - Vacation Together 全探索。d 日目まで見ていき、全員が暇ならカウント+1, 一人でも暇でなければカウントリセットする。 カウントが最大の値が答え #include <bits/stdc++.h> using names</bits/stdc++.h>…

AtCoder abc310 参加メモ

freee Programming Contest 2023(AtCoder Beginner Contest 310) - AtCoder B - Strictly Superior 全探索。p[i] == p[j] の場合など条件がややこしいため注意する #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { int n,m; cin >> n >> m; vector<int> p(n),c</int></n;i++)></bits/stdc++.h>…

AtCoder abc309 参加メモ

Denso Create Programming Contest 2023 (AtCoder Beginner Contest 309) - AtCoder B - Rotate 愚直に時計回りへずらしていった。もっと簡単な方法あるかな。 #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { int n; cin >> n; vector<string> a(n); REP(i,n) ci</string></n;i++)></bits/stdc++.h>…

AtCoder abc308 参加メモ

AtCoder Beginner Contest 308 - AtCoder B - Default Price D のいずれとも異なる色の皿の料理は一皿 $ P_0 $ 円ということに注意する #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { int n,m; cin >> n >> m; vector<string> c(n),d(m); vector<int> p(m+1); REP(i,n)</int></string></n;i++)></bits/stdc++.h>…

AtCoder abc307 参加メモ

Tokio Marine & Nichido Fire Insurance Programming Contest 2023(AtCoder Beginner Contest 307) - AtCoder B - racecar 全探索 #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { int n; cin >> n; vector<string> s(n); REP(i,n) cin >> s[i]; auto f…</string></n;i++)></bits/stdc++.h>

AtCoder abc305 参加メモ

KYOCERA Programming Contest 2023(AtCoder Beginner Contest 305) - AtCoder B - ABCDEFG #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { char p,q; cin >> p >> q; const int n = 7; vector<int> a = {0,3,1,4,1,5,9}; vector<int> s(n+1); REP(i…</int></int></n;i++)></bits/stdc++.h>

AtCoder abc304 参加メモ

Tokio Marine & Nichido Fire Insurance Programming Contest 2023(AtCoder Beginner Contest 304) - AtCoder B - Subscribers 問題文の通りにやる。 条件がたくさんあるが、よく見ると桁が増えて行く以外は同じ処理だとわかるのでうまくループ処理にすると…

AtCoder abc303 参加メモ

NS Solutions Corporation Programming Contest 2023(AtCoder Beginner Contest 303) - AtCoder B - Discord 隣接行列で 人 i が 人 j と前後で並んでいたか?を持っておいて、一度も並んでいない二人組の数を集計する #include <bits/stdc++.h> using namespace std; #de</bits/stdc++.h>…

AtCoder abc302 参加メモ

TOYOTA MOTOR CORPORATION Programming Contest 2023#2 (AtCoder Beginner Contest 302) - AtCoder B - Find snuke 8方向全部の処理をそれぞれ記述すると行数が増えてバグらせやすい。 共通部分を考えて行数をなるべく少なくするように心がける。 #include <bits/stdc++.h> </bits/stdc++.h>…

AtCoder abc301 参加メモ

パナソニックグループプログラミングコンテスト2023(AtCoder Beginner Contest 301) - AtCoder https://atcoder.jp/contests/abc300/tasks/abc301_b #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { int n; cin >> n; vector<int> a(n); REP(i,n) cin >> a[i</int></n;i++)></bits/stdc++.h>…

AtCoder abc300 参加メモ

ユニークビジョンプログラミングコンテスト2023 春 (AtCoder Beginner Contest 300) - AtCoder B - Same Map in the RPG World H,W <= 30 のため 縦方向 shift と横方向 shift を全探索できる #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<n;i++) #define endl '\n' int main() { int h,w; cin ></n;i++)></bits/stdc++.h>…

AtCoder abc274 参加メモ

キーエンスプログラミングコンテスト2022(AtCoder Beginner Contest 274) - AtCoder B - Line Sensor 二重ループでカウント #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<(n);i++) #define endl '\n' int main() { int h,w; cin >> h ></bits/stdc++.h>…

AtCoder abc272 参加メモ

AtCoder Beginner Contest 272 - AtCoder B - Everyone is Friends 人iが参加した舞踏会を隣接行列で持っておいて全探索。O(N3) #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<(n);i++) #define endl '\n' int main() { int n,m; cin >> n</bits/stdc++.h>…

AtCoder abc271 参加メモ

KYOCERA Programming Contest 2022(AtCoder Beginner Contest 271) - AtCoder B - Maintain Multiple Sequences 隣接リストで持つ #include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0;i<(n);i++) #define endl '\n' int main() { int n,q; cin </bits/stdc++.h>…