본문 바로가기

프로그래밍/알고리즘16

2074: 마방진 2074: 마방진시간제한: 1 Sec 메모리제한: 64 MB Special Judge 제출: 876 해결: 589 홀수 정사각형의 크기를 입력 받은 후, 가로 세로 대각선의 합이 일정한 마방진을 출력하는 프로그램을 작성하시오. 마방진이란 1부터 N*N까지의 숫자를 한 번씩만 써서 정사각형에 배치하여 가로와 세로, 그리고 대각선의 합이 같도록 하는 것이다. 다음의 순서에 따라 각 위치에 차례대로 값을 넣는다. 1. 첫 번째 숫자인 1을 넣는 위치는 첫 번째 행 가운데이다. 2. 숫자가 N의 배수이면 바로 아래의 행으로 이동하여 다음의 수를 넣고 3. 그렇지 않으면 왼쪽 위로 이동하여 다음의 숫자를 넣는다. 만약 행이 첫 번째를 벗어나면 마지막 행으로 이동하고, 열이 첫 번째를 벗어나면 마지막 열로 이동한다.. 2015. 4. 21.
1014: 돌다리 건너기 1014: 돌다리 건너기시간제한: 1 Sec 메모리제한: 64 MB 제출: 352 해결: 73 절대반지를 얻기 위하여 반지원정대가 출발한다. 원정대가 지나가야할 다리는 두 개의 인접한 돌다리로 구성되어 있다. 하나는 이고 다른 하나는 이다. 아래 그림 1은 길이가 6인 다리의 한 가지 모습을 보여준다. 그림에서 위의 가로줄은 를 표시하는 것이고, 아래의 가로줄은 를 표시한다. 두 돌다리의 길이는 항상 동일하며, 각 칸의 문자는 해당 돌에 새겨진 문자를 나타낸다. 두 다리에 새겨진 각 문자는 {R, I, N, G, S} 중 하나이다. 반지원정대가 소유하고 있는 마법의 두루마리에 와 를 건너갈 때 반드시 순서대로 밟고 지나가야할 문자들이 적혀있다. 이 순서대로 지나가지 않으면 돌다리는 무너져 반지원정대는 화.. 2015. 4. 21.
1331: 문자마름모 1331: 문자마름모시간제한: 1 Sec 메모리제한: 64 MB 제출: 407 해결: 96 마름모의 한 변의 길이 N을 입력받아 아래와 같이 문자마름모를 출력하는 프로그램을 작성하시오. (1) 첫 번째 행의 중앙부터 출발하여 시계 반대방향으로 'A'부터 차례대로 채워나간다. ('Z'다음에는 다시 'A'가 된다.) (2) 바깥 부분이 다 채워지면 두 번째 행 중앙부터 다시 같은 작업을 반복한다. (3) 같은 방법으로 마름모를 다 채워지도록 하여 출력한다. 마름모의 한변의 길이 N(N의 범위는 100 이하의 양의 정수)을 입력받는다. 주어진 형태대로 한변의 길이가 N인 문자마름모를 출력한다. 문자 사이는 한 개의 공백으로 구분한다. 4 A B M L C N U T K D O V Y X S J.. 2015. 4. 21.
1707: 달팽이사각형 정보 올림피아드 1707 번 1707: 달팽이사각형시간제한: 1 Sec 메모리제한: 64 MB 제출: 1802 해결: 839 정사각형의 크기를 입력 받은 후 시계방향으로 돌면서 다음과 같은 형태로 출력하는 프로그램을 작성하시오. (1) 가장 왼쪽 위의 좌표부터 차례로 숫자를 대입시킨다. (2) 오른쪽으로 채워 나가다가 끝이면 다시 아래 → 왼쪽 → 위 →오른쪽의 순으로 모두 채워질때까지 반복한다. 정사각형의 크기 n(1부터 100사이의 정수)을 입력받는다. 위에서 언급한 형태로 정사각형의 내부 숫자를 차례로 채운 후의 모습을 출력한다. 숫자 사이는 공백으로 구분한다. 3 1 2 3 8 9 4 7 6 5 문제를 푸는 핵심은 반복되는 패턴을 찾는 것!!반복횟수를 보면 오른쪽으로 5번, 아래로.. 2015. 4. 21.