-
[백준] 6987번: 월드컵 - java
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { /** * 기자가 보내온 각 나라의 승,무,패 결과 scores[i][j] -> i는 0~5까지이며 각각 "A~F" 를 의미한다. * -> j는 0,1,2로 각각 "승, 무, 패" 를 의미한다. */ static int[][] scores = new int[6][3]; static int isPossible; // i번째 경기에 출전하는 두 나라를 각각 aTeam, bTeam 에 저장한다. static int[] aTeam = { 0, 0, 0,..
알고리즘/DFS, BFS
2023. 2. 21.
-
[백준] 15683번: 감시 - java
나의풀이 import java.io.*; import java.util.ArrayList; import java.util.StringTokenizer; public class Main { static class Camera { int num; int x; int y; public Camera(int num, int x, int y) { this.num = num; this.x = x; this.y = y; } } static int n, m; static ArrayList cameras = new ArrayList(); static int min_spot = Integer.MAX_VALUE; static int[] dx = {0, 1, 0, -1}; static int[] dy = {1, 0, -1, 0..
알고리즘/DFS, BFS
2023. 2. 19.
-
[swea] 2806번: N-Queen - 파이썬(python)
백트래킹에 대한 문제를 거의 풀어보지 않아서, N-Queen 문제도 처음 접해보았다. BFS 와 대체로 비슷하지만, 더 이상 탐색할 필요가 없는걸 쳐내는 행위를 백트래킹 이라고 한다. 따라서, 한 행씩 퀸을 놓아보는데, 지금까지 같은열 or 대각선에 퀸이 있지 않다면 계속해서 BFS 를 진행하는 것이다. 이때, 한 행씩 퀸을 순서대로 놓기 때문에, 같은 행에 여러 퀸이 놓이는 경우는 고려하지 않아도 된다. row 리스트의 경우, 각 인덱스가 행번호를 의미하고, 각 인덱스값은 열번호를 의미한다. 즉, row의 i번째 행에 있는 값이 j라면, 퀸이 (i,j) 에 위치함을 뜻한다. 또한, visited 리스트를 두어 i번째 열에 퀸이 위치하는지를 확인할 수 있다. 이로 인해, visited[col] 에 이미 ..
알고리즘/DFS, BFS
2022. 11. 13.