본문 바로가기

전체 글110

ACM ICPC World Finals 2014 - Sensor Network ACM ICPC 2014 World Finals I번 - 문제 링크답이 되는 원을 생각해보자. 거기엔 가장 먼 두 점이 있다. 우리는 두 점을 결정해 볼 수 있다.점 A와 B를 결정했고, 그 둘 사이의 거리는 선분 AB의 길이가 된다. 물론 이 선분의 길이는 주어진 d값보다 작거나 같아야겠다. 점 A를 중심으로 선분 AB의 길이(R)만큼의 반지름을 가지는 원과 점 B를 중심으로 길이 R의 반지름을 가지는 원을 생각해볼 수 있다. 어떤 점들이 이 두 원의 교집합 안에 속한다면, 점 A와 점 B로부터 거리가 R 이하인 것이다. 하지만, 위의 그림에서 볼 수 있듯이 내부의 점들 사이의 거리는 R보다 더 클 수 있다. 따라서 이 점들 중 최소개수의 점들을 제거해서 서로 간의 거리가 모두 R이하가 되도록 해야한다.. 2016. 4. 23.
ACM ICPC World Finals 2012 - Takeover Wars ACM ICPC World Finals 2012 Problem L - 문제 링크성질 1. 두 개의 원소를 합한 결과가 상대방의 가장 큰 원소보다 크지 않다면 의미가 없다.성질 2. 상대방의 원소를 제거할거면 가장 큰 원소를 제거하는 수 밖에 없다.성질 3. 성질 1에 의해서 두 개의 원소를 합할 때에, 가장 큰 두 원소를 합할 수 밖에 없다.위의 성질들로 아래와 같은 코드를 작성하여 AC.int f(int n, int m, long long A, long long B, int k) { if (n == 0) return 0; if (m == 0) return 1; if (n B) { int res = f(m, n - 1, B, x + y, !k); if (!res) return 1; } } if (A > .. 2016. 4. 23.
SRM 380 Div.2 250 : 쉬운 구현 문제 class LuckyTicketSubstring { public: int maxLength(string s) { int res = 0; int n = s.size(); for (int i = 0; i < n; i++) { int L = 1; for (int j = i + 1; j < n; j += 2) { int s1 = 0, s2 = 0; int i2 = i + L; for (int k = 0; k < L; k++) { s1 += s[i + k] - '0'; s2 += s[i2 + k] - '0'; } if (s1 == s2) res = max(res, L * 2); L++; } } return res; } }; 500 : 오른쪽으로만 이동할 수 있는 연산의 특성을 고려해 케.. 2016. 4. 22.
SRM 330 Div.1 250(Easy) : 문제 링크 System> hongjun7 has submitted the 250-point problem for 242.56 points class Arrows { public: int longestArrow(string s) { int res = -1; int n = s.size(); for (int i = 0; i j - 1 || s[j - 1] == '-' || s[j - 1] == '=') res = max(res,.. 2016. 4. 21.
Google Codejam Round 1A 2016 Problem A. The Last Word 각 단계마다 그리디하게 앞에 붙이는 것이 좋은지 뒤에 붙이는 것이 좋은지 선택. char S[1005]; int main() { freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); int runs = 1; int T; for (scanf("%d", &T); T--;) { scanf("%s", S); string a = ""; for (int i = 0; S[i]; i++) { string b = a + S[i]; string c = S[i] + a; if (b > c) a = b; else a = c; } printf("Case #%d: %s\n", runs++, a.c_str()); }.. 2016. 4. 16.