목록알고리즘 문제/[삼성 SW 역량 테스트 기출 문제] (31)
Muscardinus
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cMUx9h/btqHy5TpP9X/ORyynQKpKTjzR5rki5RIU1/img.jpg)
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);..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bOZbPk/btqHy47Czfk/EnBHdgygPVdtyZehd83ou0/img.jpg)
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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nuBK3/btqHvKnzFEF/6z7UC0GKNr6XbaHsu7CKC0/img.jpg)
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; ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/BTUQm/btqHjp5ZHhU/ZBU7f7VaKP8WrihcCVcxcK/img.jpg)
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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/vcn6N/btqHiNE7YcZ/h9oriEEJly1hQkYROfvQtK/img.jpg)
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
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/zOu2Q/btqG6BNmhNS/YAJtCEJDFN56jIRwmkNkzK/img.jpg)
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..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ckjaY7/btqG6fCHpil/0NssPz9BMyPejZf9aOkySK/img.jpg)
https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크� www.acmicpc.net #include #include #include #include #include using namespace std; int check[81]; vector Empty; vector Virus; int visit[9][9]; int board[9][9]; int copyBoard[9][9]; int n, m; int answer = 0; int dx[] = { 0,0,1,-1 }; int d..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bmvK0P/btqG9AS6btF/k6PtQL0AcVjssP5nQa0fs1/img.jpg)
https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변� www.acmicpc.net #include using namespace std; int n, m; int map[503][503]; const char block[19][4][5] = { { "1111", "0000", "0000", "0000" }, { "1000", "1000", "1000", "1000" }, { "1100", "1100", "0000", "0000" }, { "1000", "1000", "1100"..