NYOJ 題目33 蛇形填數
蛇形填數
時間限制:3000 ms | 記憶體限制:65535 KB 難度:3- 描述
- 在n*n方陳裡填入1,2,...,n*n,要求填成蛇形。例如n=4時方陳為:
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
- 輸入
- 直接輸入方陳的維數,即n的值。(n<=100)
- 輸出
- 輸出結果是蛇形方陳。
- 樣例輸入
-
3
- 樣例輸出
-
7 8 1 6 9 2 5 4 3
如:4*4方陣 10 11 12 1 先右邊1,2,3 再下邊4,5,6
9 16 13 2 再左邊7,8,9 再上邊10,11,12
-
8 15 14 3 第一圈後第二圈13 14 15 16
7 6 5 4 k表示圈數 n為奇數時最後一圈一個數
-
01.
#include<stdio.h>
02.
int
main()
03.
{
04.
int
i,k,t,n,a[100][100];
05.
while
(
scanf
(
"%d"
,&n)!=EOF)
06.
{
07.
t=0;
08.
for
(k=0;k<n/2;k++)
09.
{
10.
for
(i=k;i<n-k-1;i++)
11.
{
12.
t++;
13.
a[i][n-k-1]=t;
14.
}
15.
for
(i=n-k-1;i>k;i--)
16.
{
17.
t++;
18.
a[n-k-1][i]=t;
19.
}
20.
for
(i=n-k-1;i>k;i--)
21.
{
22.
t++;
23.
a[i][k]=t;
24.
}
25.
for
(i=k;i<n-k-1;i++)
26.
{
27.
t++;
28.
a[k][i]=t;
29.
}
30.
}
31.
if
(n%2!=0) a[k][k]=t+1;
32.
for
(k=0;k<n;k++)
33.
{
34.
for
(i=0;i<n;i++)
35.
printf
(
"%d "
,a[k][i]);
36.
printf
(
"\n"
);
37.
}
相關推薦
NYOJ 題目33 蛇形填數
蛇形填數 時間限制:3000 ms | 記憶體限制:65535 KB 難度:3 描述在n*n方陳裡填入1,2,...,n*n,要求填成蛇形。例如n=4時方陳為: 10 11 12 1 9
nyoj題目33 蛇形填數
#include<stdio.h> int main() { int n,m,i,j,k=0,a[100][100],t=1; scanf("%d",&n); m=n; while(1) { for(i=m,j=n-m+1;j<=m
南陽理工ACM 題目33 蛇形填數
蛇形填數 時間限制:3000 ms | 記憶體限制:65535 KB 難度:3 描述 在n*n方陳裡填入1,2,...,n*n,要求填成蛇形。例如n=4時方陳為: 10 11 12
南陽OJ題目33---蛇形填數
蛇形填數時間限制:3000 ms | 記憶體限制:65535 KB難度:3描述在n*n方陳裡填入1,2,...,n*n,要求填成蛇形。例如n=4時方陳為:10 11 12 19 16 13 28 15 14 37 6 5 4輸入直接輸入方陳的維數,即n的值。(n<=
題目33 蛇形填數
已AC程式碼: #include<cstdio> #include<cstring> using namespace std; int main() { in
NYOJ 33 蛇形填數——————思維
蛇形填數 時間限制:3000 ms | 記憶體限制:65535 KB 難度:3 描述 在nn方陳裡填入1,2,…,nn,要求填成蛇形。例如n=4時方陳為: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 輸入 直接輸入方陳的維數,即n的值
nyoj 33 蛇形填數
#include<stdio.h> #include<string.h> #define N 110 int dis[4][2]={1,0,0,-1,-1,0,0,1}; int main() { int n,i,j,k,h,flag;
NYOJ 33 蛇形填數
原題連結 一道略有技巧性的簡單題。 附ac程式碼: #include <stdio.h> #define MAX 101 int a[MAX][MAX]; int main() { int n, x, y, count = 1; scanf("%d",
33 蛇形填數
蛇形填數 時間限制:3000 ms | 記憶體限制:65535 KB 難度:3 描述在n*n方陳裡填入1,2,...,n*n,要求填成蛇形。例如n=4時方陳為: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 輸入直接輸入方陳
題目三 蛇形填數(二)
思路來源:蛇形填數(一) #include <iostream>#include <iomanip>using namespace std;int a[100][100];void main(){ int n,count,x,y; c
南陽 33 蛇形填數
先判斷,再填數;在很多情況下,最好在做一件事之前檢查是不是可以做,而不是做完再後悔。#include<stdio.h> #include<string.h> int main() { int a[110][110]; int n,m,
題目33:蛇形填數
題目連結: 描述 在n*n方陳裡填入1,2,…,n*n,要求填成蛇形。例如n=4時方陳為: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 輸入 直接輸
蛇形填數和蛇形取數(基礎模擬練習)
code 練習 color 順序 printf urn pri int 蛇形填數 1 /* 2 問題 輸入矩陣的規模n,先將數按照下,右,上,左的順序填入矩陣,再按照這樣的順序取出。 3 解題思路 模擬,按照筆的順序存入取出,註意初始化的時候一定將矩陣全部初始化。
蛇形填數
amp size ace define max 要求 移動 循環控制 src 在n*n的方陣裏填入1,2,...,n*n,要求甜填成蛇形。 我的程序 #include<iostream>#include<string.h>using nam
蛇形填數問題
題目描述 在n×n方針裡輸入1,2,…,n*n,要求填成蛇形。例如,n=4時方陣為: 上面的方針中,多餘的空格只是為了便於觀察規律,不必嚴格輸出。n<=8。 題目分析 首先看到方針先要明白題目要求具體是從哪裡開始,即“蛇頭”在哪,最後要看明白“蛇尾”在哪。 如圖,整個蛇形填數的
關於蛇形填數
蛇形填數的核心就是轉向, while(x+1<n&&!a[x+1][y]) a[++x][y]==++count; 每一個方向,都有臨界轉向範圍即x+1<n 和下一個陣列內是否有數值。 類似的,矩形環繞和三角環繞,
ACM蛇形填數
蛇形填數 時間限制:3000 ms | 記憶體限制:65535 KB 難度:3 描述 在n*n方陳裡填入1,2,...,n*n,要求填成蛇形。例如n=4時方陳為: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4
橙白時光OJ 1032 蛇形填數
橙白時光OJ 1032 蛇形填數 描述 在nn方陳裡填入1,2,…,nn,要求填成蛇形。例如n=4時方陣為: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 輸入 直接輸入方陣的維數,即n的值。(n<=100) 輸出 輸出結果是蛇形方陣。 解題思路
【ACM】蛇形填數
先判斷,再移動,而不是發現越界了再退回來。 #include "stdio.h" #include "string.h" #define maxn 20 int a[maxn][maxn]; int
leetcode 59. Spiral Matrix II【蛇形填數】
Given a positive integer n, generate a square matrix filled with elements from 1 to n2 in spiral orde