Security ★ Development(154)
-
koi4u 2011년 8 월 모의고사 1 번 koi4u_vega
문제는 더블릿 옥상에 있는 koi4u_vega입니다.문제 사이트 주소입니다.http://183.106.113.109/pool/koi4u_vega/koi4u_vega.php?pname=koi4u_vega 견우와 직녀의 거리가 주어지고 까마귀의 수와 움직이는데 필요한 시간, 제한 시간이 주어질 때 견우와 직녀가 제한 시간 내에 만날 수 있는지를 구한는 문제입니다. 거리는 음수값이 들어올 수 있기 때문에 항상 양수로 계산하도록해줍니다. 까마귀는 마리 수만큼 처음 거리를 차지하므로 남은 거리를 구하고 제한 시간과 필요한 시간을 통일되도록 시간으로 바꿔줍니다. 제한 시간보다 남은거리를 이동하는데 필요한 시간이 많을 경우, 그리고 모든 까마귀로 한번에 이동할 수 있을 경우 yes를 출력해줍니다.abs는 마지막 테스..
2015.02.12 -
다중 반복문 2 climbing
문제는 더블릿 4 다중 반복문에 있는 climbing입니다.문제 사이트 주소입니다.http://183.106.113.109/30stair/climbing/climbing.php?pname=climbing 깊이 n의 높이를 1분당 u만큼 오르고 다음 1분당 d만큼 떨어질 때 몇 분만에 다 오를 수 있는지를 구하는 문제입니다. 2분당 총 오르는 높이를 구하고 2분씩 오른 결과가 n-u보다 크거나 같을 때 1분 오른 시간만 더해주면 됩니다. 이 때 한번에 올랐을 때의 예외를 처리해줍니다.
2015.02.12 -
제31회 한국정보올림피아드 시/도 지역 본선 (2014.5.24) 초등부 문제 3,중등 2 koi_ant
문제는 더블릿 옥상에 있는 koi_ant입니다.문제 사이트 주소입니다.http://183.106.113.109/pool/koi_ant/koi_ant.php?pname=koi_ant 공간안에 개미가 있고 대각선으로만 몇 번 움직일 수 있을 때 다 움직이고 난 후 개미의 좌표를 구하는 문제입니다. if와 for를 통해 개미의 움직임을 하나씩 따라가고 t번 움직인 후의 좌표를 구하는 방법은 t가 커짐에 따라 시간 초과가 뜹니다.공간 안을 계속 움직일 경우 항상 같은 곳으로 올 때가 있는데 이 경우를 제외하더라도 문제를 해결할 수는 없습니다.개미가 움직인 좌표를 찾아내는 공식을 도출해야합니다.1차원적으로 봤을때 w칸을 움직일 수 있는 공간에서, 개미가 현재 좌표 p에서 t번 움직였을 때의 위치는 (p+t)%w로..
2015.02.11 -
다차원배열 4 plibrary
문제는 더블릿 7 다차원배열에 있는 plibrary입니다.문제 사이트 주소입니다.http://183.106.113.109/30stair/plibrary/plibrary.php?pname=plibrary 주어진 행렬에서 한 줄의 열이 모두 1인 것이 하나라도 있으면 yes, 아니면 no를 출력하는 문제입니다. for문을 통해 배열을 받고 행과 열을 바꿔 일일이 검사해줘도 시간제한이 뜨지않습니다.
2015.02.10 -
dynamic programming 7 subset
문제는 더블릿 21 dynamic programming에 있는 subset입니다.문제 사이트 주소입니다.http://183.106.113.109/30stair/subset/subset.php?pname=subset N까지의 합을 반으로 나누었을 때 이 나뉘어진 반의 합이 같은 수인 경우의 수를 구하는 문제입니다.간단히 설명하면 1~N까지의 수의 합(N(N+1)/2)의 반이 되는 1~N까지의 합의 경우의 수를 구하고 반으로 나누면 됩니다. 예를 들어 입력으로 7이 들어왔을 경우 1~7까지의 합의 반은 14인데 1~7까지의 합 중에 14가 되는 경우의 수를 구하고 이의 반을 출력해주면 됩니다.이를 위해 각 수까지의 합의 경우의 수를 가지고 있는 배열을 선언해줍니다.ar[40]; 0까지의 수를 가지고 만들 수..
2015.02.03 -
배열 3 matti_block
문제는 더블릿 5 배열에 있는 matti_block입니다.문제 사이트 주소입니다.http://183.106.113.109/30stair/matti_block/matti_block.php?pname=matti_block 블록의 정면, 측면 사진이 있을 때 이러한 모양을 만들 수 있는 블록의 최소 수와 최대 수를 구하는 문제입니다. 최소수는 다음과 같이 구해질 수 있습니다.입력예를 보면4 2 0 3 11 1 2 3인데 높이 1짜리 인것이 정면에서 봤을 때 2개, 측면에서 봤을 때 1개 있습니다.그럼 최소한 높이 1짜리는 2개가 필요하단 것을 알 수 있습니다.높이 2는 각 한 개씩 있고 3도 한 개씩 있습니다.1짜리 2개, 2짜리 1개, 3짜리 1개. 각각 필요한 블록의 개수를 곱해서 다 더해주면 됩니다. 최..
2015.01.29