본문 바로가기

코드포스 - Codeforces8

Codeforces Round #804 (Div. 2) A. The Third Three Number Problem 처음에 시험에 도전하면서 특정 규칙을 찾아내다가 실패하여 시험이 끝난 후, 다른사람의 포스팅을 도움받았다. https://lem0nad3.tistory.com/m/103 Codeforces Round #804 (Div. 2) https://codeforces.com/contest/1699 Dashboard - Codeforces Round #804 (Div. 2) - Codeforces codeforces.com 2000점은 확정이다. 3솔해도 오렌지 퍼포가 나오다니.. 나쁜 생활 습관으로 인한 역류성 식도염.. lem0nad3.tistory.com [규칙] 정수 n이 홀수일 경우 적절한 a, b, c는 존재하지 않는다. -1을 출력한다 정수 n이 짝수일 경우 a, b, c는 a^b = 0, b^c = .. 2022. 7. 11.
Codeforces Round #801 (Div. 2) A. Subrectangle Guess [문제설명] 철수와 영희는 n개의 행과 m개의 열로 이루어진 그리드에서 게임을 한다. 이 그리드 안에는 서로다른 정수들이 있다. i번째 행과 j번째 열에 있는 사각형은 (i, j)라고 표현할 수 있다. 철수는 h(1 2022. 6. 20.
Educational Codeforces Round 130 (Div. 2)) A. Parkway Walk [문제설명] 공원에서 길을 걷는데 n+1개의 벤치가 있고 m단위 만큼의 에너지가 있다. 1m 걷는데 1단위의 에너지를 잃는다. 각 벤치 사이 거리가 정수로 n개만큼 주어진다. 벤치에서는 휴식을 취할 수 있다. 휴식을 취하면 원하는 에너지만큼 회복할 수 있다. 처음에 테이스 케이스가 주어진다. 테스트 케이스의 첫번째 줄은 벤치 사이의 거리가 몇개나 있는지(n+1 = 벤치 수), 출발 시 가지고 있는 에너지량(m)을 입력받는다. 테스트 케이스의 두번째 줄은 벤치 사이의 거리를 입력받는다. 각 테스트 케이스의 회복해야할 에너지의 최소량을 출력해야 한다. 문제를 해결하기 위해서 가장 끝 벤치까지 가는데 필요한 총에너지에서 현재 가지고 있는 에너지를 빼주면 된다. 첫번째 벤치에서 미리 에너지를 모두 모은다음에 출.. 2022. 6. 13.
Codeforces Round #784 (Div. 4) A. Division? [문제설명] 간단하게 rating점수를 구간에 따라서 Division 1부터 Division 4까지 출력하는 문제이다. t = int(input()) for _ in range(t): x = int(input()) if 1900 2022. 4. 29.
코드포스 (Codeforces Round #765(Div.2)) A. Ancient Civilization [문제설명] 과학자들이 목성의 위성인 가니메데(Ganymede) 고대문명을 발견하였다. 그 고대문명의 언어는 2개의 알파벳을 사용하고 각 단어는 정확하게 길이가 ℓ이다. 그래서 이 언어의 각 단어를 0에서 2ℓ-1까지의 정수로 쓰기로 하였다. 주어지는 단어에 대하여 '규칙'을 만족하는 단어 y를 찾아야 한다. 단어의 왼쪽부터 오른쪽으로 거리를 구한다. 1001(2)와 1100(2)인 두 단어 사이의 거리는 2이다. 좌에서 우로 볼 때 2번과 4번이 서로 다르기 때문에 거리가 2이다. 주어지는 단어들과 찾아내야하는 단어인 y의 거리는 최소가 되어야하고, y의 값도 최소가 되어야 한다. 주어진 정수를 2진법으로 바꿔준다. 2진법으로 바꾼 정수를 위에서 아래로 1열로 세운뒤 각 자리마다 1이 많이 있는지 0이.. 2022. 1. 19.
코드포스 (Codeforces Round #764 (Div. 3)) A. Plus One on the Subset [문제설명] 정수배열이 주어진다. 정수 배열 안에있는 정수들에게 1을 더하는 '행동'을 할 수 있다. 정수배열에 있는 수가 모두 같아지기위한 최소 '행동' 수를 구하여라. 간단하게 정수배열에서 가장 작은수가 가장 큰수까지 가려면 '행동'을 몇번 하면 되는지 세기만 하면 된다. # Python # 테스트 케이스 개수 t= int(input()) for _ in range(t): # n, 정수배열 입력 n= int(input()) arr = list(map(int, input().split())) # 정수배열을 정렬하고 가장 큰 수에서 작은수를 빼주면 된다. arr.sort() print(arr[n-1]-arr[0]) 2022. 1. 18.
코드포스 (Hello 2022) A. Stable Arrangement of Rooks [문제설명] N개의 정수가 주어진다. N x N의 체스판이 생성된다. 체스말 중에서 룩(rook)이 체스판 k개 만큼 체스판 위에 올라가있다. 룩은 같은 열 또는 행에있는 다른 룩을 죽일 수 있다. 룩이 서로 죽이지 못하는 상태를 "좋은배열"이라고 부른다. "좋은배열"에서 만약 룩이 인접한 칸으로 움직였을 때에도 "좋은배열"상태이면 "안정적인 상태"라고 부르고, 서로를 죽이는 상황이 나오면 "불안정한 상태"라고 부른다. (인접한 칸은 상하좌우에 있는 칸을 말한다) k개의 룩이 주어졌을 때 N x N체스판에서 "안정적인 상태"를 아무거나 찾아내거나 찾아낼 수 없다면 -1을 출력하여라. "안정적인 상태"를 아무거나 찾아내서 보여주면 됨으로 모든 경우의 수를 다 생각하지 않아도 된다. k값이 2부터 점점 늘어.. 2022. 1. 5.
코드포스 (Good Bye 2021: 2022 is NEAR) A. Integer Diversity A. Integer Diversity [문제설명] N개의 정수가 주어진다. 정수에 음수를 부여할 수 있다. 이 정수 배열에서 각기다른 숫자의 값의 최대값을 구하여라. 예를 들어, [1 2 1 2 2]인 정수 배열은 각기다른 숫자의 값이 2개이다. 1 2가 2개이상 중복되므로 하나씩 음수로 변환시키면 [1 -1 2 -2 2]로 볼 수 있다. 이 배열은 각기다른 숫자의 값이 4개이다.(원소의 수는 5개이지만 2가 2개이므로 겹친다) [1 1 -1 2 2 -2]인 정수 배열은 중복되는 값을 음수로 변환시켜도 어짜피 겹침으로 이 배열도 마찬가지로 각기다른 숫자의 값이 4개이다. # 테스트 케이스 개수 t = int(input()) for p in range(t): #테스트 케이스에 사용되는 원소의 수 n=int.. 2021. 12. 31.