-
[BOJ] 9252 : LCS 2
9252 : LCS 2 풀이 http://codersbrunch.blogspot.kr/2016/12/9252-lcs-2.html 코드 #include <stdio.h> #include <algorithm> int dp[1234][1234]; char s1[1234], s2[1234]; void f(int i, int j) { if (!dp[i][j]) return; if (s1[i] == s2[j]) { f(i-1, j-1); putchar(s1[i]); } else dp[i-1][j] > dp[i][j-1] ? f(i-1, j) : f(i, j-1); } int main() { scanf("%s\n%s", s1 + 1, s2 + 1); int i, j; for (i = 1; s1[i]; i++) for (j = 1; s2[j]; j++) dp[i][j] = std::max({ dp[i-1][j], dp[i][j-1],...
-
[BOJ] 11000 : 강의실 배정
11000 : 강의실 배정 풀이 일반적으로 스위핑 해서 풀면 (start == end)인 경우를 처리하기가 까다롭다. pq를 이용해서 풀어주자. 코드 #include <stdio.h> #include <queue> #include <algorithm> using namespace std; typedef pair<int, int> pii; int n; pii p[200002]; priority_queue<pii> pq; int main() { scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d %d", &p[i].first, &p[i].second); } sort(p, p + n); for (int i = 0; i < n; i++) { int s =...
-
[BOJ] 1449 : 수리공 항승
1449 : 수리공 항승 풀이 앞에서부터 순서대로 덮어주면 된다 파이프 터진 순서가 정렬되어 있다는 얘기가 없으니 정렬도 꼭 해주자 코드 #include <stdio.h> #include <algorithm> int n, l, a[1001]; int main() { scanf("%d %d", &n, &l); for (int i = 0; i < n; i++) scanf("%d", &a[i]); std::sort(a, a + n); int tmp = a[0], cnt = 1; for (int i = 0; i < n; i++) if (tmp + l - 1 < a[i]) tmp...
-
[BOJ] 4796 : 캠핑
4796 : 캠핑 풀이 룰루랄라 코드 #include <stdio.h> int a, b, c, d; int main() { while (1) { scanf("%d %d %d", &a, &b, &c); if (!a && !b && !c) break; printf("Case %d: %d\n", ++d, c/b*a + (c%b < a ? c%b : a)); } return 0; } 아무말 백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이
-
[BOJ] 2503 : 숫자 야구
2503 : 숫자 야구 풀이 모든 숫자랑 모든 질문을 비교 해주자. 코드 #include <stdio.h> int n, ans, a[3], b[3]; struct ABC { int num, st, ba; } qry[101]; int main() { scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%d %d %d", &qry[i].num, &qry[i].st, &qry[i].ba); } for (int i = 123; i <= 987; i++) { int cnt = 0; a[0] = i/100, a[1] = i/10%10, a[2] = i%10; if (!a[1]...