본문 바로가기
[백준] 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.
[백준] 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.
[백준] 1743번: 음식물 피하기 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/1743 1743번: 음식물 피하기 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ N×M)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진다 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 코드 #include using namespace std; int N, M, K, cnt=0; int dx[]={-1,1,0,0}; int dy[]={0,0,-1,1}; char f[101][101]; bool vis[101][101]; void dfs(int x, int y){ vis.. 2021. 9. 16.
[백준] 2178번: 미로 탐색 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 코드 #include using namespace std; using pii=pair; int m[101][101]; int N, M; int dx[]={-1, 1, 0, 0}; int dy[]={0, 0, -1, 1}; int bfs(){ queue q; q.push({0,0}); while(!q.empty()){ int x=q.front().first; .. 2021. 9. 16.
[백준] 1303번: 전쟁 - 전투 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/1303 1303번: 전쟁 - 전투 첫째 줄에는 전쟁터의 가로 크기 N, 세로 크기 M(1 ≤ N, M ≤ 100)이 주어진다. 그 다음 두 번째 줄에서 M+1번째 줄에는 각각 (X, Y)에 있는 병사들의 옷색이 띄어쓰기 없이 주어진다. 모든 자리에는 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 코드(bfs) #include using namespace std; char field[101][101]; bool vis[101][101]; int dx[]= {-1, 1, 0, 0}; int dy[]= {0, 0, -1, 1}; int N, M, W, B; int bfs(int i, int j, c.. 2021. 9. 16.
반응형