목록알고리즘 문제 (164)
Muscardinus
https://www.acmicpc.net/problem/15685 15685번: 드래곤 커브 첫째 줄에 드래곤 커브의 개수 N(1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 드래곤 커브의 정보가 주어진다. 드래곤 커브의 정보는 네 정수 x, y, d, g로 이루어져 있다. x와 y는 드래곤 커� www.acmicpc.net #include using namespace std; int dy[] = { 0,-1,0,1 }; int dx[] = { 1,0,-1,0 }; int map[101][101]; int main() { ios_base::sync_with_stdio(false); int n; cin >> n; int x, y, d, g; for (int i = 0; i < n; i++) ..
https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net #include using namespace std; int n, m, h, ret; int map[31][11]; bool check() { bool ret = true; for (int i = 1; i n >> m >> h; int a, b; for (int i = 0; i > a >> b; map[a][b] = 1; } ret = 4; dfs(0, 1, 1);..
https://www.acmicpc.net/problem/15683 15683번: 감시 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감�� www.acmicpc.net #include #include using namespace std; struct CCTV{ int type,y,x; }; int n, m, ret=1000; int map[8][8]; int cctv_size; CCTV cctv[8]; int rot[5] = { 4,2,4,4,1 }; void mapCopy(int backup[8][8], int original[8][8]) { f..
https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net #include #include using namespace std; int n; string gear[4]; int main() { ios_base::sync_with_stdio(false); for (int i = 0; i > gear[i]; //입력 값 String } cin >> n; int target, cmd; for (int i = 0; i < n; ..
https://programmers.co.kr/learn/courses/30/lessons/12900 코딩테스트 연습 - 2 x n 타일링 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 �� programmers.co.kr C++ #include #include using namespace std; int dp[60001]; int solution(int n) { dp[1]=1; dp[2]=2; dp[3]=dp[1]+dp[2]; for(int i=4;i
https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net #include using namespace std; int n, l; int map[200][200]; int answer = 0; int main() { ios_base::sync_with_stdio(false); cin >> n >> l; for (int y = 0; y > map[y][x]; } } for (int y = 0; y..
https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net #include #include #include using namespace std; int n; int g[21][21]; int result=2147000000; int pick[21]; int team1[10]; int team2[10]; void update() { int t1_size = 0, t2_size = 0; for (int i = 1; i
https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net #include #include using namespace std; struct Robot { int rx, ry, rd; Robot(int y, int x, int d) { ry = y; rx = x; rd = d; } }; int n, m; int board[51][51]; int result = 0; int dy[] = {-1,0,1,0}; int dx[] = {0,1,0,-1}; int..