목록알고리즘/정보올림피아드 준비 (17)
안 쓰던 블로그
123456789101112131415161718192021222324252627282930313233343536373839404142434445#include int n, m[3000][3000], res[3]; void solve(int x, int y, int size) { int paper = m[y][x]; int same = true; for (int i = y; (i
12345678910111213141516171819202122232425262728293031323334353637#include int n, q[64][64]; void tree(int x, int y, int size) { int pic = q[y][x]; int same = true; for (int i = y; (i
12345678910111213141516#include #define NM 1000int n, dp[NM+1]; int f(int a /*i*/) { if (a == 0 || a == 1) return 1; if (a
12345678910111213141516#include #define NM 1000int n, dp[NM+1]; int f(int a /*i*/) { if (a == 0 || a == 1) return 1; if (a
123456789101112131415161718192021222324252627282930313233#include #include using namespace std; #define NM 1000 int dp[NM+1], n, price[10001]; int max(int a, int b) { if (a
1. 5!~10!은 다 1의 자리가 0이 된다. 그 전의 수만 계산해보면 1+2+6+4 = 13, 3이 된다. 2. 0*9 1*9 2*9 .... = 900 + (100) = 901개 3. A30 B25 C40 5.5 = 5 5. 식은 f(x) = f(x-1) + f(x-2) 이 되고 1, -2, -3, -1, 2, 3 ...순으로 반복된다. 2013/6 = ?...3 3번째 → -3 6. A∩B = 25 + 23 – 30 = 18 이고 A∩B∩B = 6 7. 1) 3등을 맞춘 사람이 2명일 수는 없음 → 3등:병2) 3등은 정이 될 수 없음 → 2등: 갑3) 자동적으로 1등: 을 8. 1→1, 2→1, 1?→10, 2?→10, 1??→100, 2??→100 ... 앞자리 4가 답이다. 41, 410, ..
1. 30와 50의 평균 40, 30과 40의 평균 30, 40과 50의 평균 45. 35+40+45 = 120 2. 일의 자리 숫자가 7→9→3→1로 반복. 7의 2014승의 일의 자릿수는 9 3. 직접 세보기 4. 5. B+C=10, A+1=B, C=1, B=9, A=8 6. 이렇게 같은 줄에 있는 수들은 줄을 어떻게 바꿔도 순서만 바뀔 뿐 숫자는 바뀌지 않는다. 7. 이 마름모 안에 있으면서 x+y가 짝수인 수를 센다. 8. 먼저 각 자루에서 동전을 하나씩 꺼내 무게를 재면 100-(무게)=(가짜 동전의 무게)이므로 가짜 동전 한개의 무게를 알아낼 수 있다. 그런 다음 각 자루에서 서로 다른 개수의 동전을 꺼내 무게를 잰 뒤 550에서 무게를 빼는 방법으로 저울을 2번만 사용하고도 항상 가짜 동전이..