본문 바로가기
[백준] 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.
[백준] 1260번: DFS와 BFS / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 dfs와 bfs의 기본이 되는 문제! 😘 ✏️ 문제 코드 #include using namespace std; int vec[1001][1001]; vector vis(1001, false); int N, M, V; void dfs(int v){ coutw; vec[v][w]=true.. 2021. 9. 15.
[백준] 1916: 최소비용 구하기/ 다익스트라 / C++ ⭐ ✏️ 문제 링크 https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 1. 도시 A에서 도시 B까지 가는 거리 저장 s는 출발점 도시 번호, e는 도착점 도시 번호, w는 s에서 e로 가는데 소요되는 비용이다. using pii= pair; vector vec[1001]; while(M--){ int s, e, w; cin>>s>>e>>w; vec[s].p.. 2021. 9. 15.
[백준] 1806번: 부분합/ C++ ⭐ ✏️ 문제 링크 https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N >N>>S; int num[100001]; for(int i=0; i>num[i]; } int len=N+1, sum=num[0]; int low=0, high=0; while(low 2021. 9. 14.
[백준] 1700번: 멀티탭 스케줄링 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/1700 1700번: 멀티탭 스케줄링 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 1. 멀티탭에 이미 꼽혀 있는 경우: 1-1. 계속 진행 2. 멀티탭에 꼽혀있지 않은 경우 2-1. 멀티탭이 꽉 차지 않은 경우 2-1-1. 바로 꼽는다 2-2. 멀티탭이 꽉 차있는 경우 2-2-1. plug별 가장 나중에 사용될 것 혹은 아예 사용되지 않을 아이를 고른후 뽑느다. ✏️ 문제 코드 #include #inc.. 2021. 9. 14.
반응형