본문 바로가기

IT/BOJ117

백준(BOJ) 1931 회의실배정 ** 이 문제는 가장 중요한 점은 종료시점 순으로 정렬해야 한다는점이다. 처음 문제를 풀때는 당연히 시간이 0~23시까지 인줄알고 풀어서 24개의 페어로 구현했다. .... 문제를 잘못읽어서 뻘짓했다... 회의를 종료시점 순으로 정렬해야 했다. 재밌는 문제였다.#include #include #include #include #include #include #include #include #include #define MAX 40005 #define MOD 1000000007 #pragma warning(disable:4996) using namespace std; int n, mx=0, cur=0; pair p[100005]; int main() { scanf("%d", &n); for (int i = 0; .. 2018. 6. 1.
백준(BOJ) 1931 로프 * 간단한 그리디 알고리즘 서르명이 필요없다 ~#include #include #include #include #include #include #include #include #include #define MAX 40005 #define MOD 1000000007 #pragma warning(disable:4996) using namespace std; int n,mx=0; vector v; int main() { scanf("%d", &n); for (int i = 0; i < n; i++) { int tmp; scanf("%d", &tmp); v.push_back(tmp); } sort(v.begin(), v.end()); // 입력값을 무게 순으로 정렬한다. for (int i = 0; i < n; i.. 2018. 6. 1.
백준(BOJ) 1946 신입사원 * #include #include #include #include #include #include #include #include #include #include #include #define MAX 2005 #define INF 987654321 #define MOD 1000000 #pragma warning(disable:4996) using namespace std; typedef long long ll; typedef pair pi; int T, n, a, b; vector v; int main() { scanf("%d", &T); for (int i = 0; i < T; i++) { v.clear(); scanf("%d", &n); for (int k = 0; k < n; k++) { scanf(.. 2018. 6. 1.
백준(BOJ) 2629 부등호 * 이 문제는 분류에 위상정렬로 되어있지만 위상정렬로 구현하기보다는 백트래킹을 이용하는 방법이 더 좋은 방법이라고 생각했다. 입력을 받는부분에서 실수를 해서 애를 좀 먹었다. 다른 분들의 블로그를 보았는데 깔끔하게 해결한 코드가 보이지는 않았다. #include #include #include #include #include #include #include #include #define MAX 40005 #define MOD 1000000007 #pragma warning(disable:4996) using namespace std; int n,cnt=0,mx[15],mi[15]; vector op; void backtrack(int cur,int arr[]) { if (cur == 0) return; if.. 2018. 6. 1.