PAT 1050 나선형 매트릭스 (25 점)
첫 번 째 줄 에 정수 N 을 입력 하고 두 번 째 줄 에 채 울 정수 N 을 입력 하 십시오.모든 숫자 는 104 를 넘 지 않 고 인접 숫자 는 빈 칸 으로 구분 된다.출력 형식:
출력 나선 행렬.줄 당 n 개의 숫자, 총 m 줄.인접 한 숫자 는 하나의 빈 칸 으로 구분 되 며, 줄 끝 에 빈 칸 이 있어 서 는 안 된다.입력 예시:
12 37 76 20 98 76 42 53 95 60 81 58 93 수출 사례:
98 95 93 42 37 81 53 76 60 76 단 오 류 는 배열 이 너무 크게 열 렸 거나 10000 * 10000 을 방문 한 것 입 니 다. 아니면 크로스 오 버 라 는 나선형 을 처음 만 났 습 니 다. 저 는 흰 자 수준 입 니 다. 방금 배 운 시 뮬 레이 션 방법 으로 스스로 순환 N 회 를 시 작 했 습 니 다. 내부 순환 에는 네 개가 있 습 니 다. 하 나 는 위 에서 오른쪽으로 모 의 하면 줄 이 변 하지 않 고 열 + 1 을 만 났 습 니 다. 열의 최대 경계 가 멈 추 었 습 니 다.(첫 번 째 라운드), 혹은 다음 라운드 가 0 이 아니 라 (다음 라운드 가 거의 채 워 졌 음 을 나타 내 며, 그렇게 오래 지속 되 지 않 아 도 된다 는 뜻) 3 변 의 동 리 를 남 겼 습 니 다. 사상 은 행, 열 입 니 다. 지난 라운드 의 모든 내 순환 (또는 처음 시작 하 는 1 라운드) 의 행 과 열 을 답습 한 다음 경 계 를 판단 하 는 것 입 니 다.
#include
#include
void sort(int *number,int n)
{
int i,j,t;
for(i=0;i0;n--)
{ int q=0;
for(m=sqrt(N);m<=N;m++)
{
if(m*n==N)
{
q=1;
break;
}
}
if(q)
break;
}
while(count0;lie--)//
{
if(arr[hang][lie]==0)//
{
arr[hang][lie]=number[count++];
}
if(arr[hang][lie-1]!=0||lie==1)//
break;
}
for(;hang>0;hang--)
{
if(arr[hang][lie]==0)//
{
arr[hang][lie]=number[count++];
}
if(arr[hang-1][lie]!=0||hang==1)
break;
}
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
if(j!=1)
printf(" ");
printf("%d",arr[i][j]);
}
printf("
");
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PAT B 1080 MOOC 기 말 성적 (C 언어)다음은 세 개의 입력 이 있 습 니 다.첫 번 째 블록 은 P 개의 온라인 프로 그래 밍 성적 G p 를 포함 합 니 다.두 번 째 는 M 개 중간고사 성적 G mid - term 를 포함한다.세 번 째 는 N 개의...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.