Gold

https://www.acmicpc.net/problem/7570문제분석제목 그대로 순서대로 줄을 세우는 것이다. 단, 맨 앞이나 맨 뒤로만 보낼 수 있다는 조건을 지켜야 한다.예를들어, 5 4 2 3 1로 서있는 경우, 1을 맨 앞으로,  4를 맨 뒤로, 5를 맨 뒤로 보내야 1 2 3 4 5로 정렬이 된다.최소한으로 움직여서 정렬이 완료되는 경우, 그 최소한으로 움직인 값은?해결과정"덩어리" 를 만들기로 했다. 여기서 "덩어리" 의 정의는 다음과  같다.1. 연속적인 수(3, 4, 5, 6...)2. 이 수들은 붙어있을 필요는 없다(3, 5, 2, 6, 1, 7, 4...)->덩어리 5,6,73. 최소한으로 움직이는 경우는, 이 덩어리들 중  가장 큰 덩어리가 움직이지 않는 경우.이 덩어리가 가장 클..
https://www.acmicpc.net/problem/1034문제분석가로로 111111...와 같이 모든 수가 1로 바뀌어야 켜졌다 라고 한다고 한다. 버튼을 누르면 해당 열 의 모든 숫자가 바뀐다(1과 0 서로 치환).역시 간단한 방법인 모든 경우를 탐색하려고  하니, 신경써야 할 반례가 너무 많았다. 다른 방법이 있나 찾다가, 이전 문제에서 사용했던, 순차적으로 탐색하면서 최대값을 저장하고, 최댓값보다 큰 경우에 최댓값을 갱신하는 방법을 사용하기로 하였다. 램프가 켜지고 꺼지면서 완성되는 열의 수를 각각 파악해야 한다(실제로 숫자를 변경하면, 시간복잡도에서 탈락).해결과정중복이 가능하므로, K의 갯수와 한 행의 0의 갯수의 홀수 짝수 여부가 같아야 한다(다른 경우, 무조건 한번 더 눌러야 하므로 ..
https://www.acmicpc.net/problem/2528 2528번: 사다리 첫 번째 줄에 층 수 N (1 ≤ N ≤ 3,000)과 층의 길이 L (1 ≤ L ≤ 3,000, L은 짝수)이 주어진다. 가장 아래층은 1층이고 가장 위층은 N층이다. 다음 N개의 줄 중 i번째 줄에는 i층의 막대기의 길이 l (1 ≤ l www.acmicpc.net 문제분석 문제 요약: 게임을 연상하면 편하다. n개의 층이 있고 층의 가로길이도 주어준다. 막대기는 좌우로 움직인다(게임처럼 반대편끝에 부딛히면 반대방향으로 감). 막대는 1시간단위마다 1칸씩 움직인다. 철수는 맨 아래층 막대에서 위로 올라가려고 하는중이다. 철수는 좌우이동하는데 시간을 소모하지 않는다. 막대기 좌표가 위아래 겹치는 경우에 철수는 위아래 ..
https://www.acmicpc.net/problem/1041 1041번: 주사위첫째 줄에 N이 주어진다. 둘째 줄에 주사위에 쓰여 있는 수가 주어진다. 위의 그림에서 A, B, C, D, E, F에 쓰여 있는 수가 차례대로 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, 쓰여 있는 수www.acmicpc.net문제분석주사위 면이 정해져있음을 유의할것. 풀이는 간단하다. 전개도를 접어서 주사위를 만들고, 그 주사위들을 합쳐서 N*N*N크기의 대형 주사위를 만든다. 이후, 바닥면을 제외한 5면의 숫자의 합이 최소일때 그 최소값은?해결과정중고등학교 수학적 감각이 있다면, 더욱 쉽게 풀 수 있는문제이다. 보통 이런문제는 N이 1일때,2일때,3이상일때~ 로 나눠서 풀기에, 이 문제도 동일하게 ..
https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 문제분석 탑이 있고, 그 탑의 꼭대기에서
https://www.acmicpc.net/problem/1711 1711번: 직각삼각형 첫째 줄에 점의 개수 N(3 ≤ N ≤ 1,500)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 점의 x좌표와 y좌표가 빈 칸을 사이에 두고 주어진다. 좌표값은 절댓값이 1,000,000,000을 넘지 않는 정수이며, 주 www.acmicpc.net 문제분석 직각삼각형이 가능한 점들로 만들 수 있는 직각삼각형 갯수를 구하면 되는 단순한 문제이다. 해결과정 피타고라스 정리를 활용하였으며, 시간을 최대한 줄이기 위해 한번씩만 탐색하도록 하였다. dotcount=int(input()) arr=[] for i in range(dotcount): arr.append(list(map(int,input().split()))) ..
https://www.acmicpc.net/problem/2591 2591번: 숫자카드 1부터 34까지 수가 적힌 카드가 충분히 많이 있다. 이들 중 몇 장을 일렬로 늘어놓고, 그 숫자를 차례로 적었다. 예를 들어 아래와 같이 카드가 놓인 경우 숫자를 차례로 적으면 27123이 된다. 나중 www.acmicpc.net 문제분석 숫자가 주어지고, 숫자를 카드로 나타내는 것. (단, 카드는 1~34까지 무제한으로 있다) 문제자체는 너무쉽다. 21이면 21카드와 2와 1카드 두개로 나타낼 수 있으니, 가짓수는2개. 312면 3/1/2, 31/2, 3/12, 가짓수3개. 해결과정 문제를 보자마자 든 생각은, 재귀함수를 사용하자!였다. 너무 재귀함수를 사용하기 예쁜 그림이였다. 숫자하나빼고, 남은숫자로 함수또돌리..
https://www.acmicpc.net/problem/2565 2565번: 전깃줄 첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. 전깃줄의 개수는 100 이하의 자연수이다. 둘째 줄부터 한 줄에 하나씩 전깃줄이 A전봇대와 연결되는 위치의 번호와 B전봇대와 연결되는 www.acmicpc.net 문제분석 두 전봇대 A와 B가 있는데, 전선을 겹치치않게 하려면 최소 몇개를 빼야 하는가? 해결 아이디어-1(실패함) 나만 이생각한줄 알았는데, 검색해보니 그냥 사람이라면 떠오르는 보편적인 아이디어였다.. 가장 많이 겹치는 전깃줄부터 제거. 예시도 한번에 통과하길래...그냥 프리패스일줄 알았으나... 이유를 게시판에서 반례찾다가 알게되었다 https://www.acmicpc.net/board/view/8..
chabin37
'Gold' 태그의 글 목록