1. 程式人生 > >NYOJ 題目33 蛇形填數

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