KDHzoot's Github

Code for study, project, etc

자세히보기

알고리즘/정보올림피아드 필기 문제 9

[KOI 2019] 한국정보올림피아드 1차대회 중등부 풀이

10진수를 2진수로 표현할 수 있는지 파악하는 문제이다 2019 * 2021 = 4080399이다. 10진수를 2진수로 바꿀 때는 1이 될때까지 2로 나누면서 나머지를 오른쪽 끝에 쌓아주면 된다. ex) 11 11/2 = 5...1 5/2 = 2...1 2/2 = 1...0 1 11은 이진수로 표현했을 때 1011이다. 4080399를 2진수로 표현하면 4080399/2 = 2040199...1 2040199/2 = 1020099...1 1020099/2 = 510049...1 510049/2 = 255024...1 255024/2 = 127512...0 ... 따라서 오른쪽 끝 1의 개수는 4개이다 답) 4 3부터 15의 합은 18*6+9 = 117이다. 따라서 빠진 수는 11 답) 11 첫번째 자리는..

[KOI 2019] 한국정보올림피아드 1차대회 초등부 풀이

1. 먼저 a와 b를 비교하여 더 큰수를 찾는다. (a라고 가정) 2. c와 a를 비교한다. (만약 c가 a보다 크다면 크기 순서는, c > a > b 이다) 3. c가 a보다 작다면 c와 b를 비교해서 크기 순서를 결정하면 된다. 이는 a와 b중 큰 수가 b일때도 마찬가지이다 답) 3 파란색 점은 사람이고 검정색 선은 친구간의 인사이다 총 합해서 10번의 인사가 진행되어야 하며, 1분에 두쌍식 인사를 한다고 해도 적어도 5분의 시간이 걸린다. 5분안에 모든 쌍이 인사를 하는 전략은 다음과 같다. 서로 평행하는 쌍끼리 인사를 진행하면, 1분에 2쌍식 5분안에 모든 쌍이 인사를 진행할 수 있다. 답) 5 두개의 서로 다른 주사위를 굴렸을 때 나올 수 있는 모든 경우의 수는 36가지이다. (6 * 6) 이렇..

2014 시도예선 중고등부 문제

수학문제 1. 등차수열 문제이다. x+z = 2y 이다.y는 30과 50사이의 40이고 x, y, z의 합은 y가 세번있는 것과 마찬가지 이므로 3y = 120이다. 2. 7의 제곱수의 1의자릿수는 7, 9, 3, 1로 순환한다. 따라서 2014%4해서 2번째인 9가 답이다. 3. 눈으로 보고 구하면 13이 나온다. 4. 직접 식을 세우자시간 = 거리/속력 이므로 총 길의 길이를 a이라고 하면재석이 걸린 시간 a/24+a/8명수가 걸린 시간 2a/45+a/15이다.재석/명수는 (a/6) / (a/9)해서 3/2 5. A+B+C가 A라는 것은 B+C가 10이라는 것이다. 그러면 1이 올림되고 1+A+B+C가 B이므로 A+1 = B이다.덧셈으로 올림되는 수는 1이므로 C는 1 이어서 B는 9 이어서 A는 8..

2013 시도예선 중고등부 문제

수학문제 1. 5! 이상은 10의 배수이므로 값에 영향을 주지 않는다. 1!부터 4!은 1, 2, 6, 24 이므로 답은 3 2. 1부터 99까지중 10의 자리에서 1부터 9까지 10번씩 나오고1의 자리에서 10마다 한번씩 10번 나오기 때문에 (1+2+3...+9)*20 = 900 이다.근데 여기서 100의 자릿수의 합을 더해야 하기 때문에 1이 더해진 901이다. 3. 철수가 110바퀴 돌았다는 거는 철수가 3300만큼 달렸다는 것이다.세사람이 동시에 만나는 때는 600만큼 달렸을 때이다. 따라서 5번 만난다. 4. 정말 신기하게도, 1부터 1000까지는 10개의 비트만으로 표현할 수 있으므로동전의 번호를 2진수로 표현한 후 앞에서 부터 순서대로 비트가 1이면 저울에 놓고 아니면 안놓고 해서 10번의..

2012 시도예선 중고등부 문제

수학문제 1. 원래라면 얼마부터 가능한지 증명해야 되지만 딱보니 직접 다 해보는게 빠를거 같다. 24원은 7원 두개 5원 두개26원은 7원 세개 5원 한개31원은 위에다가 5원 한개 더33원은 7원 네개에 5원 한개따라서 23원만 못 만든다. 2. 축구대회에서 5팀이 있으면 리그전을 위해서 5*4/2 = 10 경기가 필요하다.그리고 하루에 가능한 경기는 최대 두경기이다. 따라서 5일 3. 먼저 왼쪽부터 하나씩 A B C D E로 두면작은 트리만 보면 B = 2C이다. 따라서 B,C는 2,1 또는 4, 2B,C가 4,2라고 한다면 6 + A*3 = D*2 + E*5 이다.대충 A에 3 D에 5 E에 1을 넣으니 등식이 성립한다따라서 정답은 D에 들어가는 수는 5 4. 먼저 A, B, C는 시간이 되기도 하..

2011 시도예선 중고등부 문제

수학문제 1. 일 전체양을 1이라고 하면 A는 한시간에 1/2 B는 한시간에 1/3C는 한시간에 1/6으로 할 수 있다. 셋이 함께하면 1이므로 하루면 된다. 2. 아버지의 나이를 N이라고하면 아들의 나이는 85 - N이다. 과거에 아버지가 85 - N살이었을 때 아들은는 170 - 3N이다.여기서 아버지의 나이는 아들 나이의 6배이면 85 - N = 6(170 - 3N)이다.전개하면 N은 55 아버지는 55 아들은 30따라서 차이는 25 3. 13의 13승의 끝자리수는 3, 9, 7, 1, 3 ... 반복으로 13번째 일의자리수는 3 4. 1000의 약수를 짝지어 나열하고 그 합이 가장 작은 경우를 구한다.1, 2, 4, 5, 8, 10, 20, 25, 40, 50, 100, 125, 200, 250,..

2010 시도예선 중고등부 문제

수학문제 1. 1부터 2000까지 정수 중에서 4의 배수 또는 6의배수는500+333-166 = 667위의 정수들 중에서 5의 배수인 것은 20 또는 30의 배수이므로100+66-33 = 133둘을 빼면 534 따라서 정답은 3번 2. 직접 해보는 수 밖에 없다. 최대는 13, 최소는 11 따라서 24 3. n개의 항을 가지는 수열로 나누면 항의 개수가 1, 2, 3, 4 이므로200에 가장 근접할 때는 190에서 19의 수열이 끝날 때이다.20의 수열은 1부터 해서 10에서 걸린다.따라서 200번째는 10이다. 4. 한명씩 참이라고 가정하고 나머지를 점검해서 모순이 생기면 정답이 아닌거다. 따라서 다 해보면 D가 나온다. 5. ABCDE 사전순 나열 문제를 풀때는 첫 번째 단어가 몇 번을 주기로 바뀌는..

2008 시도예선 중고등부 문제

수학문제 1. 더해지는 수들의 수열을 보면 1, 2, 3, 4 ... 순으로 커진다. 2. AB에 A를 곱한 것이 AB이니 A는 1이다. 백의 자리에 있는 수는 B인데 결과는 E가 나온다. 따라서 A+C는 10보다 크다. A가 1이므로 C는 9 AB*B는 BC이다. C가 9이므로 B는 313*31 = 403이 나온다. 따라서 D는 0 3. 1을 7로 나누면 0.14285714... 사이클의 길이가 6이므로 97%6 = 1, 97번째 수는 1이다. 4. 10으로 나누었을 때 나머지가 3이려면 3, 13, 23, 33, 44등의 수가 있다.3으로 나눴을때 3이 되려면 9, 10, 113으로 나눴을때 13이 되려면 39, 40, 413으로 나눴을때 23이 되려면 69, 70, 713으로 나눴을때 33이 되려면..