728x90 반응형 145022 22-04-09-14502-연구소 01.재귀를 이용하여 3개의 벽 세우기 void installWall(int y, int x, int count) { if (count == 3) { int safeZone = bfs(); ret = ret < safeZone ? safeZone : ret; return; } for (int i = y; i < N; i++) { for (int j = x; j < M; j++) { if (board[i][j] == 0) { board[i][j] = 3;//벽세우기 installWall(i, j + 1, count + 1); board[i][j] = 0; } } x = 0; } } 02.바이러스 BFS증식 queueq; int safeZone = 0; for (int i = 0; i < N; i++) { .. 2022. 4. 10. 14502 연구소 #include #include #include #include #include using namespace std; #define NS 9 //가로의 최대 크기 #define MS 9 // 세로의 최대 크기 int N, M; // 입력으로 주어지는 가로 세로크기 int board[NS][MS];// 입력으로 주어지는 배열 int ret = 0x80000000;//최대값 최신화 시킬 변수 int zeroCnt = 0;//안전지대의 개수 int dy[] = { 0,1,0,-1 };//바이러스가 움직이는 방향 int dx[] = { 1,0,-1,0 }; struct Data {//큐를 위한 구조체 int y, x; }; vectorD;//바이러스 미리 저장 void init_input() {//초기화 및 초.. 2021. 1. 12. 이전 1 다음 728x90 반응형