C 프로그래밍/BOJ
-
[백준 10282] 해킹C 프로그래밍/BOJ 2022. 11. 24. 14:15
https://www.acmicpc.net/problem/10282 10282번: 해킹 최흉최악의 해커 yum3이 네트워크 시설의 한 컴퓨터를 해킹했다! 이제 서로에 의존하는 컴퓨터들은 점차 하나둘 전염되기 시작한다. 어떤 컴퓨터 a가 다른 컴퓨터 b에 의존한다면, b가 감염되면 www.acmicpc.net #include #include #include #include int T; int N, D, C; int ans_cnt; int ans_time; struct _st { int n; int t; }; std::list L[10000 + 2]; struct COMP { bool operator() (const _st &a, const _st &b) { return a.t > b.t; } }; std:..
-
[백준 1238] 파티C 프로그래밍/BOJ 2022. 11. 23. 14:10
https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net #include #include #include #include int N, M, X; int sum[1000 + 2]; struct _st { int n; int t; }; std::list L[1000 + 2]; struct COMP { bool operator()(const _st &a, const _st &b) { return a.t > b.t; } }; st..
-
[백준 1697, 12851, 13549, 13913] 숨바꼭질1, 2, 3, 4C 프로그래밍/BOJ 2022. 11. 22. 10:46
[백준 1697] 숨바꼭질 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net #include #include int N, K; struct _st { int n; int t; }; std::queue Q; int visited[100000 + 2]; int BFS() { //init Q.push({N, 0}); visited[N] = 1; while (!Q.empty()) { _st data = Q.front(); Q...
-
[백준 4991] 로봇 청소기C 프로그래밍/BOJ 2022. 11. 21. 15:57
https://www.acmicpc.net/problem/4991 4991번: 로봇 청소기 각각의 테스트 케이스마다 더러운 칸을 모두 깨끗한 칸으로 바꾸는 이동 횟수의 최솟값을 한 줄에 하나씩 출력한다. 만약, 방문할 수 없는 더러운 칸이 존재하는 경우에는 -1을 출력한다. www.acmicpc.net #include #include #include int R, C; char board[20 + 2][20 + 2]; int rx, ry; int d_num; int total; struct _st { int x, y; int move; int clean; }; std::queue Q; int visited[20 + 2][20 + 2][1 C - 1) continue; if (board[nx][ny] == ..
-
[백준 14503] 로봇 청소기C 프로그래밍/BOJ 2022. 11. 21. 11:40
https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net #include #include int R, C; int board[50 + 2][50 + 2]; int clean; int sx, sy, sd; void input() { scanf("%d %d", &R, &C); scanf("%d %d %d", &sx, &sy, &sd); for (int r = 0; r < R; r++) { for (int c = 0; c < C; c++) { scanf("..
-
[백준 1753] 최단경로C 프로그래밍/BOJ 2022. 11. 11. 15:58
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;// 시작 정점의 번호 struct _st { int n; int w; }; struct COMP { bool operator()(const _st &a, const _st &b) { return a.w > b.w; } }; std::li..
-
[백준 17244] 아맞다우산C 프로그래밍/BOJ 2022. 11. 9. 09:59
https://www.acmicpc.net/problem/17244 17244번: 아맞다우산 경재씨는 저녁 약속을 가기 전 챙기지 않은 물건들이 있는 지 확인하고 있다. 필요한 물건은 전부 챙긴 것 같았고 외출 후 돌아오는 길에 경재씨는 외쳤다. "아 맞다 우산!!!" 경재 씨는 매번 외출 www.acmicpc.net #include #include int R, C; char board[50 + 2][50 + 2]; int sx, sy;// 출발지 int ex, ey;// 도착지 int s_cnt;// stuff 개수 struct _st { int x, y; int move; int bit_num;// 현재 어떤 물건을 가지고 이동하고 있는지// 비트마스킹 }; std::queue Q; int visit..
-
[백준 16954] 움직이는 미로 탈출C 프로그래밍/BOJ 2022. 11. 8. 20:54
https://www.acmicpc.net/problem/16954 16954번: 움직이는 미로 탈출 욱제는 학교 숙제로 크기가 8×8인 체스판에서 탈출하는 게임을 만들었다. 체스판의 모든 칸은 빈 칸 또는 벽 중 하나이다. 욱제의 캐릭터는 가장 왼쪽 아랫 칸에 있고, 이 캐릭터는 가장 오른쪽 www.acmicpc.net #include #include #include #include char board[8 + 2][8 + 2]; char tmp[8 + 2][8 + 2]; struct _st { int x, y; }; std::queue Q; int visited[8 + 2][8 + 2]; std::vector V; void input() { for (int i = 0; i < 8; i++) { scan..