목록분류 전체보기 (591)
어흥
문제 링크: https://www.acmicpc.net/problem/10711 10711번: 모래성 문제 명우와 친구들은 여름방학을 맞이하여 해변가에 놀러가기로 했다. 이번에 여행을 떠난 해수욕장의 이름은 ALPS(Awsome Land & Poor Sea)이다. 해변가에서 수영복을 입은 미녀들에게 관심이 많은 원철이와는 달리 명우는 해변가의 모래에 더 관심이 많다. 해변가의 모래는 무한한 것들을 만들 수 있는 가능성을 내포하고 있다. 또한 이렇게 만들어진 작품이 파도에 의해 사라지는 모습은, 마치 자신이 가장 빛날 수 있는 시간을 알고 스스로 아름답게 www.acmicpc.net 1. 주의할 점: - 배열의 크기가 커서 check/visit 배열을 매번 초기화해주면서 하기엔 TLE가 발생한다 - res..
문제 링크: https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2보다 크거나 같고, 1024보다 작거나 같은 2의 제곱꼴이다. 블록은 적어도 하나 주어진다. www.acmicpc.net 1. 주의할 점 - 구현시 숫자가 이상하게 중첩되거나 날라가는 경우가 없도록 조심한다 2. 구현 - DFS로 00000~33333까지 짠다(0: 위로, 1: 오른쪽으로, 2: 아래로, 3: 왼쪽으로) - 정확하게 구현한다(과거엔 Deque을, 현재는 Vector를 이..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWm8hNu6llcDFASj SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - N과 M의 최대 크기가 2000이다 -> DFS 자제 2. 구현 - Set을 사용해서 구현해봤다 -> TLE - DP를 통해서 구현해봤다 -> 메모리초과 - BFS를 이용해서 구현했다 -> 성공 (단, check배열이 없으면 TLE) [JAVA] import java.io.BufferedReader; import java.io.InputStreamReader; imp..
문제 링크: https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다. 정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다. 아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누 www.acmicpc.net 1. 주의할 점 - 5가지 유형의 테트로미노 중 'ㅗ'모양을 제외하고는 DFS로 찾을 수 있다. - 'ㅗ' 형태의 테트..
현재 index를 기점으로 1칸 왼쪽과 1칸 오른쪽이 모두 현재 index보다 높이가 높은 경우문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWS2h6AKBCoDFAVT SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 우뚝 선 산의 정의에 따라 한개의 봉우리를 기점으로 여러개의 구간이 있을 수 있다. - Low와 High 배열을 사용하여 꺽이는 부분에 대한 정보를 저장한다 - 시작부분이 High인 경우: Arr[0]>Arr[1] -> 우뚝 선 산에 포함될 수 없으므로 다음 High로 넘어..
문제 링크: https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A Set을 사용한다 이유: A가 2배씩 증가한다고 해도 30개만 들어간다(2^30>10억) + 10*A+1의 경우 그보다 적게 들어간다 #include #include #include using namespace std; struct info { long long idx; int va..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRxnnah2sDFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 노드의 개수 b.val; } }; info tmp; int main() { int test, node, edge, start, end, vv; cin >> test; for (int t = 1; t > node >> edge; vector v[401]; int dist[401]; for (int i = 0; i > start >> ..
문제 링크: https://www.acmicpc.net/problem/2056 2056번: 작업 수행해야 할 작업 N개 (3 ≤ N ≤ 10000)가 있다. 각각의 작업마다 걸리는 시간(1 ≤ 시간 ≤ 100)이 정수로 주어진다. 몇몇 작업들 사이에는 선행 관계라는 게 있어서, 어떤 작업을 수행하기 위해 반드시 먼저 완료되어야 할 작업들이 있다. 이 작업들은 번호가 아주 예쁘게 매겨져 있어서, K번 작업에 대해 선행 관계에 있는(즉, K번 작업을 시작하기 전에 반드시 먼저 완료되어야 하는) 작업들의 번호는 모두 1 이상 (K-1) 이하이다. 작업들 www.acmicpc.net 1. 주의할 점 - 위상정렬이 1개가 아니다 2. 구현 - 모든 Node의 작업이 끝나는 시간의 최댓값을 result 배열에 저장..