Math 8

[BOJ] 10540번: KLOPKA

https://www.acmicpc.net/problem/10540 모기를 잡기 위해 필요한 정사각형 박스의 최소 넓이를 구하는 문제다. 그래서 모든 x, y를 돌면서 max_x - min_x와 max_y - min_y 중 더 큰 수의 제곱이 답이 된다. #include #include using namespace std; int main() { int n, MaxX = -987654321, MaxY = -987654321, MinX = 987654321, MinY = 987654321; scanf("%d", &n); for (int i = 0, a, b; i < n; ++i) { scanf("%d %d", &a, &b); MaxX = max(MaxX, a); MinX = min(MinX, a); Max..

온라인저지 2018.07.27

[BOJ] 3029번: 경고

https://www.acmicpc.net/problem/3029 입력받은 시간을 모두 초로 바꾼 후, 터질 시간이 현재 시간보다 작을 경우 다음 날이라는 말이므로 24시간을 초로 바꾼 86400초 - 현재 시간 + 터질 시간이 기다려야 하는 시간이다. #include int main() { int ct[3], tt[3]; scanf("%2d:%2d:%2d\n%2d:%2d:%2d", &ct[0], &ct[1], &ct[2], &tt[0], &tt[1], &tt[2]); int cts = ct[0] * 3600 + ct[1] * 60 + ct[2]; int tts = tt[0] * 3600 + tt[1] * 60 + tt[2]; int ans = (cts < tts) ? tts - cts : 86400 -..

온라인저지 2018.07.27

[BOJ] 3049번: 다각형의 대각선

3049번: 다각형의 대각선 대각선 교차점 하나가 생기려면 대각선 두 개가 필요하고 대각선은 꼭지점 2개로 이뤄지기 때문에 총 4개의 꼭지점의 조합이 필요하다. 즉, n개의 꼭지점 개수 중에서 4개를 순서 없이 선택하면 된다. 그래서 를 계산하면 된다. 코드 #include int main() { int n; scanf("%d", &n); printf("%d", (n * (n - 1) * (n - 2) * (n - 3)) / 24); return 0; }

온라인저지 2018.07.19

[BOJ] 2355번: 시그마

2355번: 시그마 풀이 a≤ba \le ba≤b일 때… ∑i=abi=(b−a+1)(a+b)2\sum_{i=a}^b i = \frac{(b - a + 1)(a + b)}{2}i=a∑b​i=2(b−a+1)(a+b)​ 입력으로 int 범위 a, b가 주어지지만 분자 계산 부분에서 int 범위를 벗어나기 때문에 그것만 잘 신경 써주면 된다. 코드 #include long long swap(long long &a, long long &b) { a = a ^ b; b = a ^ b; a = a ^ b; } int main() { long long a, b; scanf("%lld %lld", &a, &b); if (a > b) swap(a, b); printf("%lld\n", (b - a + 1) * (a + b..

온라인저지 2018.05.26

[BOJ] 13241번: 최소공배수

13241번: 최소공배수풀이gcd와 lcm을 알고 있으면 되는 문제다. 최소공배수는 주어진 정수 a, b에서 lcm(a, b) = a * b / gcd(a, b)이다.최대공약수는 유클리드 호제법을 사용하면 된다. 정수 m, n(m > n)이 주어질 때 gcd(m, n)은1234long long int gcd(long long int a, long long int b){ return b ? gcd(b, a % b) : a;} 다음과 같이 구현할 수 있다. 자세한 내용과 증명 과정은 링크를 참고하면 된다. 코드123456789101112131415161718192021#include long long int gcd(long long int a, long long int b){ return b ? gcd(b,..

온라인저지 2018.04.01