본문 바로가기

Problem Solving/대회 풀이

(4)
Atcoder Begginer Contest 201 F가 꽤 어려운 라운드였던 거 같다. 그리고 D나 E는 꽤 전형적인 문제인데 모르면 처음에 떠올리기 어려운 문제들이다. 이해가 안되거나 설명이 부족하다 싶거나 잘못된 내용은 댓글로 말해주시면 감사하겠습니다. A - Tiny Arithmetic Sequence 만약에 세 숫자가 등차수열을 이룬다면 정렬했을 때 그 순서대로 공차가 같을 것이다. 이걸로 해결할 수 있다. #include using namespace std; int main() { vector v(3); for (int i = 0; i > v[i]; sort(v.begin(), v.end()); if (v[1] - v[0] == v[2] - v[1]) cout v[i].second >> v[i].first; sort(..
Atcoder Beginner Contest 200 풀이 A, B, C는 정말 쉬운 편이고 D, E, F는 평균적인 라운드보다 좀 어렵게 뽑힌 거 같다. A - Century $x$가 주어지면 $ceil(x/100)$을 출력하면 된다. #include using namespace std; int main() { int x; cin >> x; cout N >> K; while(K--) { if(N%200 == 0) N /= 200; else N = N*1000 + 200; } cout N; long long ans = 0; for(int i=0;i> x; ans += cnt[x%200]; cnt[x%200]++; } cout N; for(int i=1;i> orig[i]; a[i] = orig[i] % 200; } ans[1][a[1]].push_back(1);..
Atcoder Beginner Contest 189 풀이 F를 푼사람이 244명으로 F가 꽤 어려웠던 라운드같다. 아마 나도 문제에 쓰인 아이디어를 이 문제서 처음 봤다면 감도 안 왔을거 같다. E가 좀 수학적인 성향이 강한 느낌이다. 라운드 링크 A - Slot 정말 기본적인 문제. 길이 3인 문자열을 입력받고 세 글자가 전부 같은지 확인하자. 출력문이 Won, Lost로 좀 특이하니 주의 #include using namespace std; string s; int main() { cin >> s; if(s[0] == s[1] && s[1] == s[2]) cout X; X *= 100; int taken = 0; for (int i = 0; i > v >> p; int a = v * p; taken += a..
Atcoder Beginner Contest 190 풀이 Rated User 중에 올솔한 사람이 500명이나 되는 라운드였다. 아마 E, F가 전형적인 문제여서 그런 듯 하다. 라운드 링크 A - Very Very Primitive Game 일일이 시뮬레이션을 돌려도 되고 조건문 써서 수식으로 풀어도 된다. #include #include using namespace std; int main() { cin.tie(nullptr); ios::sync_with_stdio(false); int a, b, c; cin >> a >> b >> c; if(c == 0) { if(a > b) cout x >> y; if(x >= S || y M; for(int i=0;i> u >> v; cond.emplace_back(u, v); } cin >> K; for(int i=0..