알고리즘/백준[C++] (53) 썸네일형 리스트형 백준2178 숫자 재배치 c++ https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net #include #include using namespace std; int N, M; int arr[101][101]; bool visitA[101][101]; int dx[4] = {0, 0, 1, -1}; int dy[4] = {1, -1, 0, 0}; int main() { cin >> N >> M; for (int i = 1; i > s; for (int j = 1; j 백준16943 숫자 재배치 c++ https://www.acmicpc.net/problem/16943 16943번: 숫자 재배치 두 정수 A와 B가 있을 때, A에 포함된 숫자의 순서를 섞어서 새로운 수 C를 만들려고 한다. 즉, C는 A의 순열 중 하나가 되어야 한다. 가능한 C 중에서 B보다 작으면서, 가장 큰 값을 구해보자. C는 0 www.acmicpc.net #include #include #include using namespace std; int ans = -1; string A, B; int main() { cin >> A >> B; sort(A.begin(), A.end()); // next_permutation을 할때는 무조건 sort가 먼저 와야한다. do { if (A[0] == '0') continue; if (s.. 백준 2234 성곽 c++ https://www.acmicpc.net/problem/2234 2234번: 성곽 첫째 줄에 두 정수 N, M이 주어진다. 다음 M개의 줄에는 N개의 정수로 벽에 대한 정보가 주어진다. 벽에 대한 정보는 한 정수로 주어지는데, 서쪽에 벽이 있을 때는 1을, 북쪽에 벽이 있을 때는 2를, www.acmicpc.net 풀이 예제 입력부터 대놓고 비트를 사용하라는 느낌이 들었습니다. BFS와 비트마스킹을 활용하여 풀었습니다. #include #include #include #include using namespace std; const int MAX = 50; typedef struct { int y, x; }Dir; // 서 북 동 남 Dir moveDir[4] = { {0,-1}, {-1, 0}, {0,.. 백준 1057 토너먼트 c++ https://www.acmicpc.net/problem/1057 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 www.acmicpc.net #include using namespace std; int win(int num) { return num % 2 == 0 ? num / 2 : num / 2 + 1; } int main() { int n; int kim, lim; cin >> n >> kim >> lim; int round = 0; while (kim != lim) { round++; kim = win(kim); lim = win(li.. 백준 24444 알고리즘수업 너비우선탐색1 c++ https://www.acmicpc.net/problem/2022 2022번: 사다리 첫째 줄에 차례대로 x, y, c에 해당하는 양의 실수 세 개가 입력된다. 수는 소수점 여섯째 자리까지 주어질 수 있으며, 3,000,000,000보다 작거나 같다. www.acmicpc.net #include #include #include #include using namespace std; vector graph; vector visited; int N, M, R, Seq; queue que; void input(); void bfs(int n); void sol(); int main() { input(); sol(); return 0; } void input() { cin >> N >> M >> R; graph... 백준_2022_사다리_c++ https://www.acmicpc.net/problem/2022 2022번: 사다리 첫째 줄에 차례대로 x, y, c에 해당하는 양의 실수 세 개가 입력된다. 수는 소수점 여섯째 자리까지 주어질 수 있으며, 3,000,000,000보다 작거나 같다. www.acmicpc.net 풀이 수학적인 풀이가 필요한 문제.. 되게 단순한 수학인데 너무 오랜만에 이런문제를 풀려니깐 굉장히 고생했습니다. 닮음을 이용해서 func에 있는 식만 발견해내면 풀리는 문제입니다. #include #include #include #include using namespace std; double x, y, c; // c = (h1 * h1) / (h1 + h2) double func(double w) { double h1 = s.. 백준_1527_금민수의개수_c++ https://www.acmicpc.net/problem/1527 1527번: 금민수의 개수 첫째 줄에 A와 B가 주어진다. A는 1보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. B는 A보다 크거나 같고, 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 브루트포스로 풀면 그냥 풀리는문제 #include #include #include #include using namespace std; int A, B; long long result; void goldMinWater(long long num) { if (num > B) return; if (A A >> B; goldMinWater(4); goldMinWater(7); cout 백준_12869_뮤탈리스크_c++ https://www.acmicpc.net/problem/12869 12869번: 뮤탈리스크 1, 3, 2 순서대로 공격을 하면, 남은 체력은 (12-9, 10-1, 4-3) = (3, 9, 1)이다. 2, 1, 3 순서대로 공격을 하면, 남은 체력은 (0, 0, 0)이다. www.acmicpc.net 풀이 뮤탈리스크가 공격할 수 있는 경우가 총 6가지밖에 없다. 6가지의 경우를 전부 재귀로 확인해주면 풀리는 문제. #include #include #include #include #define INF 1e9; using namespace std; int N; int DP[61][61][61]; int HP[3] = { 0, }; //SCV없으면 그냥 0 int solution(int x, int y, i.. 이전 1 2 3 4 ··· 7 다음 목록 더보기