본문 바로가기

백준/구현

(15)
지뢰찾기 www.acmicpc.net/problem/4396 4396번: 지뢰 찾기 지뢰찾기는 n × n 격자 위에서 이루어진다. m개의 지뢰가 각각 서로 다른 격자 위에 숨겨져 있다. 플레이어는 격자판의 어느 지점을 건드리기를 계속한다. 지뢰가 있는 지점을 건드리면 플레이어 www.acmicpc.net #include #include #include #include using namespace std; int n; vectorarr(10, vector(10)); vectoropenArr(10, vector(10)); vectoranswer(10, vector(10,'.')); int dx[] = {0,0,1,-1,1,-1,1,-1}; int dy[] = {1,-1,0,0,1,1,-1,-1}; bool cango..
빙고 www.acmicpc.net/problem/2578 2578번: 빙고 첫째 줄부터 다섯째 줄까지 빙고판에 쓰여진 수가 가장 위 가로줄부터 차례대로 한 줄에 다섯 개씩 빈 칸을 사이에 두고 주어진다. 여섯째 줄부터 열째 줄까지 사회자가 부르는 수가 차례대로 www.acmicpc.net #include #include #include #include using namespace std; vectorarr(5, vector(5)); bool check[5][5]; map rowm; map colm; map diagm; bool checkRow(int row) { //행 if (rowm[row]) { return true; } for (int i = 0; i < 5; i++) { if (check[row][i]..
오리 www.acmicpc.net/problem/12933 12933번: 오리 첫째 줄에 영선이가 녹음한 소리가 주어진다. 소리의 길이는 5보다 크거나 같고, 2500보다 작거나 같은 자연수이고, 'q','u','a','c','k'로만 이루어져 있다. www.acmicpc.net #include #include #include #include using namespace std; string str; deque deq; int check[2502], duck; int sound[] = { 'q', 'u', 'a', 'c', 'k' }; void go(int quack, int idx, int c) { if (idx >= str.size()) { return; } if (str[idx] == sound[quac..
소가 길을 건너간 이유 www.acmicpc.net/problem/14467 14467번: 소가 길을 건너간 이유 1 3번 소는 위치 1, 0, 1에서 관찰되었으므로 길을 최소 두 번 건넜음을 확인할 수 있다. 4번 소도 길을 한 번 건넜으며, 나머지 소는 길을 건넌 기록이 확인되지 않는다. www.acmicpc.net #include #include int n; using namespace std; int main() { cin >> n; vectorcheck(11, 2); int num, loc; int cnt = 0; for (int i = 0; i > num; cin >> loc; if (check[num] == 2) { check[num] = loc; continue; } if (chec..
로봇 www.acmicpc.net/problem/13567 13567번: 로봇 입력은 표준 입력으로부터 받는다. 첫 줄에는 두 정수 M과 n (1 ≤ M ≤ 1,000, 1 ≤ n ≤ 1,000)이 주어진다. M은 정사각형 S의 한 변의 길이, 즉 오른쪽 맨 위의 좌표는 (M, M)이 된다. n은 로봇이 수행할 www.acmicpc.net package Implementation; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class robot { static int M,N; static int[]dx = {1,0,..
병든 나이트 www.acmicpc.net/problem/1783 1783번: 병든 나이트 첫째 줄에 체스판의 세로 길이 N와 가로 길이 M이 주어진다. N과 M은 2,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net #include #include using namespace std; int n, m; int dx[] = {-2,-1,1,2}; int dy[] = {1,2,2,1}; int main() { cin >> n; //세로 cin >> m; //가로 int cnt = 0; if (n >= 3) { if (m >= 7) { cnt = m - 1 - 6 + 5; } else if(m>=4){ cnt = 4; } else if (m 0) { cnt = m; } } else if (n ..
달팽이 www.acmicpc.net/problem/1913 1913번: 달팽이 N개의 줄에 걸쳐 표를 출력한다. 각 줄에 N개의 자연수를 한 칸씩 띄어서 출력하면 되며, 자릿수를 맞출 필요가 없다. N+1번째 줄에는 입력받은 자연수의 좌표를 나타내는 두 정수를 한 칸 띄어서 www.acmicpc.net #include #include using namespace std; int dx[] = { -1,0,1,0 }; int dy[] = { 0,1,0,-1 }; int main() { int i, j; int n,target; cin >> n; cin >> target; vectorarr(n, vector(n)); i = n / 2; j = n / 2; int num = 1; int total = n*n; int ..