본문 바로가기
[백준] 1504번: 특정한 최단 경로 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/1504 1504번: 특정한 최단 경로 첫째 줄에 정점의 개수 N과 간선의 개수 E가 주어진다. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) 둘째 줄부터 E개의 줄에 걸쳐서 세 개의 정수 a, b, c가 주어지는데, a번 정점에서 b번 정점까지 양방향 길이 존 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 문제 조건을 보면 1번에서 N번을 가려고하는데 한번 이동했던 정점은 물론, 한번 이동했던 간선들도 다시 이동할 수 있지만 v1, v2정점을 반드시 거치는 경로를 찾아야한다. 그러면 가능한 경로는 1 -> V1 -> V2 -> N / 1 -> V2 -> V1 -> N이다. 찾아야.. 2021. 9. 24.
[백준] 1753번: 최단 경로 / C++ ✏️ 문제 링크 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 ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 이전 게시글 참고! 🦄 2021.09.15 - [Algorithm 🧠/알고리듬(thm) 공부 🌱] - [백준] 1916: 최소비용 구하기/ 다익스트라 / C++ ⭐ [백준] 1916: 최소비용 구하기/ 다익스트라 / C++ ⭐ ✏️ 문제 링크 https://www.acmicpc.net/probl.. 2021. 9. 24.
[백준] 12851번: 숨바꼭질2 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/12851 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 코드 (BFS) #include using namespace std; using pii=pair; #define MAX 100001 vector v(MAX, false); vector ans; int N, K; void bfs(int s){ queue q;//position and dept.. 2021. 9. 17.
[백준] 14226번: 이모티콘 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/14226 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 코드 #include using namespace std; typedef struct Node{ int c; int s; int t; }Node; bool vis[1001][1001]; int main(){ int S; cin>>S; queue q; q.push({0,1,0}); for(int i=0; i 2021. 9. 17.
[백준] 13549번: 숨바꼭질3 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 코드 #include using namespace std; using pii=pair; #define MAX 100001 vector vis(MAX, false); int N, K; int bfs(int s){ queue q; q.push({s, 0}); vis[s]=true; int answ.. 2021. 9. 17.
[백준] 17086번: 아기상어 2 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/17086 17086번: 아기 상어 2 첫째 줄에 공간의 크기 N과 M(2 ≤ N, M ≤ 50)이 주어진다. 둘째 줄부터 N개의 줄에 공간의 상태가 주어지며, 0은 빈 칸, 1은 아기 상어가 있는 칸이다. 빈 칸의 개수가 한 개 이상인 입력만 주어진다. www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 코드 #include using namespace std; using pii=pair; #define MAX 51 typedef struct Node{ int x, y; long cnt; }Node; int dx[]={-1,1,1,-1,-1,1,0,0}; int dy[]={1,1,-1,-1,0,0,.. 2021. 9. 17.
🔮 DFS, BFS 문제 모음집 [백준] 1260번: DFS와 BFS(🥈실버 1티어) [백준] 1303번: 전투 (🥈실버 1티어) [백준] 2178번: 미로 탐색 (🥈실버 1티어) [백준] 1743번: 음식물 피하기 (🥈실버 1티어) [백준] 2606번: 바이러스 (🥈실버 2티어) [백준] 16952번: A → B (🥇 골드 5티어) [백준] 12851번: 숨바꼭질 2 (🥇 골드 5티어) [백준] 13549번: 숨바꼭질 3 (🥇 골드 5티어) 숨바꼭질 4 (🥇 골드 4티어) [백준] 14226번: 이모티콘 (🥇 골드 5티어) [백준] 17086번: 아기 상어2 (🥇 골드 5티어) 달리기 (🏅 플래티넘 3티어) 2021. 9. 17.
[백준] 16953번: A -> B / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 1. DFS는 경우가 현재 숫자에서 경우가 2를 곱하거나 1을 더해주는 경우인데, dfs를 재귀로 계속 들어가다가 만약 cur이 B와 같아지는 순간이 오면 멈추면 된다. 2. 거꾸로 탐색하는 건데 사실 내가 처음에 떠올렸던건 이 방법.. dfs로도 될것 같았지만 이 방법으로도 될것 같아서 해봤다..ㅎㅅㅎ그랬더니 되네 성능 차이는 dfs와 얼마 나지 않는 것 같다 ✏️ 문제 코드 (DFS) #include using namespace std; lo.. 2021. 9. 16.
[백준] 2606번: 바이러스 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 코드 #include using namespace std; using pii=pair; vector computer[101]; vector vis(101, false); int main(){ int N, K, answer=0; cin>>N>>K; while(K--){ int a, b; cin>>a>>b; computer[a].pus.. 2021. 9. 16.
반응형