Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

RGB7548 - Квадратын хүрээгээр

NxN хэмжээтэй квадрат массивыг жишээн дээрх загвараар дүүргэ.

Input

Квадрат массивын хэмжээ натурал тоо N өгөгдөнө. N<10.

Output

Квадрат массивын элементүүдийг мөр мөрөөр нь хэвлэнэ.

Гэхдээ элемент бүрийг 3 хоосон зайд хойш нь шахаж хэвлэнэ. Жишээг сайн ажиглана уу.

Жишээн дээрх 1-ийн тоо гэхэд урдаа, хойноо тус бүр 2 хоосон зайтай байна.

Мөн 16-ын тоо урдаа, хойноо тус бүр 1 хоосон зайтай байна.

Example

Input:
5

Output:
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

Нэмсэн:Bataa
Огноо:2013-02-07
Хугацааны хязгаарлалт:1s
Эх кодын хэмжээний хязгаарлалт:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Програмчлалын хэлүүд:ADA95 ASM32 BASH BF C NCSHARP CSHARP C++ 4.3.2 CPP C99 CLPS LISP sbcl LISP clisp D ERL FORTRAN HASK ICON ICK JAVA JS-RHINO JULIA LUA NEM NICE OCAML PAS-GPC PAS-FPC PERL PHP PIKE PRLG-swi PYTHON PYPY3 PYTHON3 RUBY SCALA SCM guile ST TCL WHITESPACE

hide comments
2019-11-09 06:29:11
Comment too long!
2019-04-03 09:47:28
#include <bits/stdc++.h>
using namespace std;
int i,j,n,m,k,t,s;
int a[100][100];
int main()
{
scanf("%d",&n);
int ch=1;
m=n;
for (i=n; i>=1; i--)
a[1][i]=i;
for (i=n; i>=2; i--)
{
m++;
a[i][n]=m;
}
for (i=n-1; i>=1; i--)
{
m++;
a[n][i]=m;;
}
for (i=n-1; i>=2; i--)
{
m++;
a[i][1]=m;
}
i=2;
j=1;
int ok=1;
while (ok==1)
{
ok=0;
while (ch==1)
{
if (a[i][j+1]==0)
{
j++;
m++;
a[i][j]=m;
ok=1;
}
else ch=2;
}
while (ch==2)
{
if (a[i+1][j]==0)
{
i++;
m++;
a[i][j]=m;
ok=1;
}
else ch=3;
}
while (ch==3)
{
if (a[i][j-1]==0)
{
j--;
m++;
a[i][j]=m;
ok=1;
}
else ch=4;
}
while (ch==4)
{
if (a[i-1][j]==0)
{
i--;
m++;
a[i][j]=m;
ok=1;
}
else ch=1;
}
}

for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
printf("%3d ",a[i][j]);

printf("\n");
}
return 0;
}
2019-03-28 02:55:39
#include<bits/stdc++.h>

using namespace std;

int n,N;
int a[11][11]={0};

void Print(){
int i,j;

for(i=1;i<=N;i++){
for(j=1;j<=N;j++){
printf("%3d",a[i][j]);
}
cout<<endl;
}
}
int main(){
int j,i,s,k;

cin>>n;

s=1;
N=n;
for(k=1;k<n;k++,n--){
for(j=k;j<n;j++){
a[k][j]=s++;
}
for(i=k;i<n;i++){
a[i][n]=s++;
}
for(j=n;j>k;j--){
a[n][j]=s++;
}
for(i=n;i>k;i--){
a[i][k]=s++;
}
}
if(N%2==1) a[k][k]=s;

Print();
}
2019-02-21 13:05:23
#include<bits/stdc++.h>

using namespace std;

int a[11][11]={0};
int n,N;

void Print(){
int i,j;

for(i=1;i<=N;i++){
for(j=1;j<=N;j++){
printf("%10d",a[i][j]);
}
cout<<endl;
}

}
int main(){
int i,j,s,k;

cin>>n;
s=1;
N=n;
for(k=1;k<n;k++,n--){
for(j=k;j<n;j++){
a[k][j]=s++;
}
for(i=k;i<n;i++){
a[i][n]=s++;
}
for(j=n;j>k;j--){
a[n][j]=s++;
}
for(i=n;i>k;i--){
a[i][k]=s++;
}
}
a[k][k]=s;
Print();
}
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.