분류 전체보기
-
[C++ STL] SETC 프로그래밍/BOJ 2022. 9. 19. 19:54
나 보려고 정리... 내용 굉장히 러프함 주의... set unordered set 언제 사용 ? 원소의 개수가 많아 안정성이 요구될 때 원소의 개수가 적고 빠른 성능이 요구될 때 시간복잡도 O(logN) -> 내부적으로 BST 로직을 따르고 있기 때문 O(1) 정렬 여부 ? 정렬됨, 순서 중요 시 사용 정렬 안됨 원소의 중복을 허용하고 싶을 때 multiset unordered multiset // sample code #include #include // set header 추가해야 한다. #include // unordered_set header 추가해야 한다. using namespace std; set SS; unordered_set US; int main() { // 0. set 초기화 S.c..
-
[백준 2636] 치즈C 프로그래밍/BOJ 2022. 9. 18. 21:11
https://www.acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net #include #include int N, M;// 행 열 int board[100 + 2][100 + 2]; int visited[100 + 2][100 + 2]; int cheese; struct _qt { int x, y; }; std::queue Q; void input() { scanf("%d %d", &N, &M); for (int i = 0; i < N; i++) { for (int j = 0; j <..
-
[백준 2468] 안전영역C 프로그래밍/BOJ 2022. 9. 18. 17:52
https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net #include #include int N; int city_map[100 + 2][100 + 2]; int visited[100 + 2][100 + 2]; int rain[100 + 2]; int rain_max; void input(void) { scanf("%d", &N); for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { scanf("%d"..
-
[백준 2667] 단지번호붙이기C 프로그래밍/BOJ 2022. 9. 18. 16:14
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net #include #include int N; char city_map[25 + 2][25 + 2]; int visited[25 + 2][25 + 2]; int danji; int cnt; int ans[25 * 25 + 2]; void input(void) { scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%s", &city_map[i]); } } ..
-
[백준 6987] 월드컵C 프로그래밍/BOJ 2022. 9. 18. 15:52
https://www.acmicpc.net/problem/6987 6987번: 월드컵 월드컵 조별 최종 예선에서는 6개국으로 구성된 각 조별로 동일한 조에 소속된 국가들과 한 번씩, 각 국가별로 총 5번의 경기를 치른다. 조별리그가 끝난 후, 기자가 보내온 각 나라의 승, 무승부 www.acmicpc.net #include #include int game[6 + 2][3 + 2]; int num; int choice[15 + 2][2 + 2]; int tmp[2 + 2]; void Combi(int n, int s) { if (n == 2) { for (int i = 0; i < 2; i++) choice[num][i] = tmp[i]; num++; } for (int i = s; i < 6; i++) ..
-
[백준 2580] 스도쿠C 프로그래밍/BOJ 2022. 9. 18. 14:33
https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net #include #include int board[9 + 2][9 + 2]; int flag_row[9 + 2][9 + 2]; int flag_col[9 + 2][9 + 2]; int flag_cube[3 + 3][3 + 3][9 + 2]; struct _st { int x; int y; }; std::vector P; void input(void) { for (int i = 0; i < 9; i..
-
[백준 1753] 최단 거리C 프로그래밍/BOJ 2022. 9. 15. 20:22
https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net #include #include #include #include int V, E; int K; int chk[20000 + 10]; int ans[20000 + 10]; using namespace std; struct _st { int n; int c; }; struct COMP { bool operator()(_st &a, _st &b) { return a..