https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net #include using namespace std; int N; int map[18][18]; int cnt; int dx[3] = {0, 1, 1}; // 가로, 세로, 대각선 int dy[3] = {1, 0, 1}; void dfs(int x, int y, int kind){ if(x == N && y == N){ cnt++; return; } for(int i = ..
https://www.acmicpc.net/problem/1865 1865번: 웜홀 첫 번째 줄에는 테스트케이스의 개수 TC(1 ≤ TC ≤ 5)가 주어진다. 그리고 두 번째 줄부터 TC개의 테스트케이스가 차례로 주어지는데 각 테스트케이스의 첫 번째 줄에는 지점의 수 N(1 ≤ N ≤ 500), www.acmicpc.net #include #include #define INF 10000000 using namespace std; int N; int M; int dist[501]; vector a[501]; bool Bellman_Ford(){ for(int i = 0; i Testcase; for(int i = 0; i >N>>M>>W; for(int j = 0; ..
https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net #include #include #include #include #define INF 100000000 using namespace std; int N; int M; int dist[1001]; vector a[10001]; int dijkstra(int start, int end){ priority_queuepq; for(int i = 0; i >N>>M>>X; f..
https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 잘못 생각한 문제!! #include #include using namespace std; int n; int map[500][500]; int j = 0; int MAX = 1000000000; bool visited[100][100]; int dx[2] = {0, 1}; int solution = 0; void dfs(int y, int x, int depth, int sum){ if(depth == n){ solution = max(sum, solution); }..
https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net #include #include #include using namespace std; int N; char X; char Y; char Z; int parent[27][2]; void preorder(char root){ if(root =='.'){ return; }else{ cout> Y >> Z; parent[X - 'A'][0] = Y; parent[X - 'A'][1] = Z; ..
https://www.acmicpc.net/problem/2096 2096번: 내려가기 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다. www.acmicpc.net #include #define MAX 500000 using namespace std; int dp[MAX][4] = {0}; int dp2[MAX][4] = {0}; int main(){ int N; cin >> N; for(int i = 1; i dp[i][j]; } } for(int i = 1; i