알고리즘 109

앳코더90 - 026 - Independent Set on a Tree(★4)

https://atcoder.jp/contests/typical90/tasks/typical90_z 026 - Independent Set on a Tree(★4)AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp 7레벨은 이제 건너뛰도록 하자 하나의 트리 그래프가 주어질때 인접하지 않은 정점의 집합을 N/2개 출력하시오.예제이다. 정점 하나를 잡고 시작해서 깊이를 기준으로 깊이가 짝수일때만 vector에 넣어서 정렬 후 출력했더니 테스트케이스 일부가 틀렸었다. 다시 생각해보니 내가 시작 정점을 1로 한거였는데 1이 끝이 아니..

앳코더90 - 024 - Select +/- One(★2)

https://atcoder.jp/contests/typical90/tasks/typical90_x 024 - Select +/- One(★2)AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp 길이가 N인 두개의 배열 A, B가 있다. 배열 A에서 특정 index의 원소를 선택하여 +1, 또는 -1 하여 배열 B를 K번 이내에 만들 수 있는가?를 판별하는 문제이다. +1 또는 -1 한다는 것은 어떻게든 값을 만들 수 있는 것이고 K번 이내에 가능한지 만 판별하면 되는 것이다. 0번째 원소가 3, 5라고 할때 3을 5로 만들기..

앳코더90 - 022 - Cubic Cake(★2)

https://atcoder.jp/contests/typical90/tasks/typical90_v 022 - Cubic Cake(★2)AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp A* B* C 크기의 빵이있다. 이를 최소한으로 잘라서 모두 같은 크기로 만들어라. 자른 횟수를 구하라.많이 볼법한 문제이다. A, B, C의 공통된 크기로 만들려면 gcd를 이용한다. 그리고 나눈횟수를 단순히 세주면 된다. #define _CRT_SECURE_NO_WARNINGS#include #include #include #include..

앳코더90 - 021 - Come Back in One Piece(★5)

https://atcoder.jp/contests/typical90/tasks/typical90_u 021 - Come Back in One Piece(★5)AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp N개의 정점과 M개의 간선을 가진 유향그래프가 있을 때 간선 i는 정점 Ai에서 정점 Bi로 향한다. 다음 조건을 만족하는 2개의 정점 (x,y)의 쌍 이 몇개 인지 구하라- 정점 x에서 정점 y로 가는 경로와 정점 y에서 정점 x로 가는 경로가 모두 존재한다. 문제를 읽어 보고 나서 아이디어가 바로 떠올랐다. 정점 a에..

5000번 : 빵정렬

https://www.acmicpc.net/problem/5000  일행중 누군가가 swap에서 parity라는 의문을 제기하자. 나는 데이터 통신에서 패리티체크는 들어봤지만 다른 식으로 쓰이는 걸 처음봐서 이 문제를 추천(?) 받게 되었다. 해당 문제의 경우에는 인접한 수열 3개를 선택해서 A B C 일때 C A B 로 만들 때 수열 A로 수열 B로 만들 수 있느냐 없느냐를 뭇는 문제이다. 하나씩 swap 하는 문제들은 여럿 있지만 이러한 형태는 처음 보는 것이었다.  여기서 "순열의 홀짝성" 이라는 개념이 나온다. 특정한 순열을 1:1로 교환해서 증가하는 순으로 만드는데 N번의 시행횟수가 있을 수 있지만 해당 N의 홀, 짝 여부는 항상 동일하다 라는 것이다. 21345라는 순열을 봤을 때 12345로..

Atcoder ACL

오늘 소개할 것은 Atcoder에서 사용할 수 있는 template 모음이다. ACL은 AtCoder Library로 Atcoder 플랫폼에서 사용할 수 있는 template이다. 처음알게 된 것은 atcoder 90제 문제를 풀어보면서 다른 사람 코드를 볼 때, 확장자 헤더에 atcoder/all이 있고 코드들을 단순하게 잘 작성하길래 찾아보게 되었다. https://atcoder.jp/posts/518 AtCoder Library (ACL) - AtCoderAtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp해당 포스트에서 ..

앳코더90 - 020 - Log Inequality(★3)

https://atcoder.jp/contests/typical90/tasks/typical90_t 020 - Log Inequality(★3)AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp log2​ab log2​ca, b, c 가 주어졌을 때 위 식이 성립하면 Yes 아니면 Nob를 log 내부로 넣고 비교하면 될듯하다.주어진 값을 보니 큰수가 될 수도 있어서 파이썬을 썼다. import matha, b, c = map(int, input().split())if a  재밌게도 문제에 주어진 수식 그대로 구현해서 비교하..

앳코더90 - 018 - Statue of Chokudai(★3)

https://atcoder.jp/contests/typical90/tasks/typical90_r 018 - Statue of Chokudai(★3)AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp 높이가 L이고 한 바퀴 도는데  T분 걸리는 관람차가 있다. 고정된 조형물이 X,Y에 있을 때 Q개의 쿼리가 들어온다. q분후의 관람차 위치에서 조형물을 바라보는 방향의 각도를 구하여라.  입력과 출력 예제를 보면 대충 이런 느낌인 것 같은데 원의 둘레를 이용한 각도와 삼각함수들을 이용해서 어떻게 해야 되는 것 같은데 아쉽게도 ..

Atcoder ABC #379

어제 Atcoder 연습겸 시간 안재고 풀어봤습니다.https://atcoder.jp/contests/abc379 Toyota Programming Contest 2024#11(AtCoder Beginner Contest 379) - AtCoderAtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp  Ahttps://github.com/sjmjys954646/Algorithm/blob/master/AtCoder/ABC379_A.cpp입력받은 길이 3 짜리 문자열을 재배치하는 문제string 쓰는 방법이 기억이 안나서 어찌저찌 걸..

앳코더90 - 017 - Crossing Segments(★7)

https://atcoder.jp/contests/typical90/tasks/typical90_q 017 - Crossing Segments(★7)AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.atcoder.jp 원위에 N개의 점이 있고 M개의 선분이 있을 때, 각각의 선분을 이었을 때 교차점의 개수를 구하여라.  예제 1번의 예시를 그림으로 그리면 위와 같다. 먼저, 소문제 부터 풀어보자. 우리가 교차점이 생길려면은 다음과 같은 조건을 충족해야된다. 원에서 선분이 그려질 때 a,b를 잇는 직선과 c,d를 잇는 직선이 있다 할때, 하나의 ..