귀환의 나선 방진

나선방진
Time Limit: 1000 ms Memory Limit: 65536 KiB
Submit Statistic Discuss
Problem Description
n×n의 나선 방진은 n=5와 n=3일 때 각각 다음과 같은 형식이다
임의의 입력 n(0<n<11)에 대해 상기 규칙에 따라 출력된 n×n의 나선 방진.
Input
첫 번째 행위 정수 m(0<m<10)를 입력하면 m조의 입력이 있음을 나타낸다.다음은 m행 데이터입니다. 줄마다 n(0<n<11)을 입력하십시오.
Output
입력한 순서에 따라 순서대로 모든 n을 출력하다×n 방진 (한 방진의 같은 줄 데이터 사이'\t'로 구분) 두 출력 방진 사이에 빈 줄을 출력합니다.
Sample Input
1 4
Sample Output
1   2   3   4 12  13  14  5 11  16  15  6 10 9  8   7
Hint
Source
#include
#include
#include
void f(int n);
int tp,cn;
int a[14][14];
int main()
{
    int t,n;
    scanf("%d",&t);
    while(t--)
    {
        tp=0,cn=1;
        scanf("%d",&n);
        f(n);
        int i,j;
        for(i=0; ifor(j=0; jif(j==n-1)
                {
                    printf("%d
"
,a[i][j]); } else { printf("%d\t",a[i][j]);//\t Tab ,4 , 5 } } } printf("
"
); } return 0; } void f(int n) { int i,j; if(n<=0)return ; else { i=tp;// 0 for(j=tp; j// 0 { a[i][j]=cn++; } j=tp+n-1;// for(i=tp+1; i// { a[i][j]=cn++; } i=tp+n-1;// for(j=tp+n-2; j>=tp; j--)// , { a[i][j]=cn++; } j=tp;// for(i=tp+n-2; i>tp; i--) { a[i][j]=cn++; } } tp++; f(n-2); }

Think: 사고방식은 모두 코드 안에 있다. 바로 한 바퀴 한 바퀴 걷는 것이다. 먼저 한 번 간 다음에 귀속으로 안의 동그라미를 반복할 수 있다. Note: 귀속할 때 임계 조건이 있어야 한다. 임계 조건이 없으면 귀속은 멈추지 않는다.

좋은 웹페이지 즐겨찾기