方陣填數問題 模擬法

2021-04-13 13:21:39 字數 1431 閱讀 8758

/*

【基礎】:方陣填數(easy)

time limit:1000ms  memory limit:65536k

total submit:226 accepted:109 

description 

在乙個n*n的方陣中,填入1、2、…、n*n個數,並要求構成如下的格式 

例: n=5 

13 14 15 16 1 

12 23 24 17 2 

11 22 25 18 3 

10 21 20 19 4 

9 8 7 6 5 

n=6 

16 17 18 19 20 1 

15 30 31 32 21 2 

14 29 36 33 22 3 

13 28 35 34 23 4 

12 27 26 25 24 5 

11 10 9 8 7 6 

input 

(a.in)輸入n(n≤25)

output 

(a.out)滿足要求的矩陣(數字之間用空格分開)

sample input 

5sample output 

13 14 15    16 1    

12 23 24 17 2    

11 22 25 18 3    

10 21 20    19 4    

9 8 7 6 5

*//*

print n*n text

*/#include 

<

stdio.h

>

#define

max 50

intmain(

void

)} ;

inti,j,k,n,h,l,ht,lt,total=0

,flag=0

;scanf("%d

",&n) ;h =

1;ht=

n ;l 

=n ;lt=

1;k =

n*n ;while

(total 

<

k )--

l ;for

(i =

l,j=

ht; i

>=

lt ; i--)

--ht ;

flag =1

;}else

/*向上,向左填數

*/++

lt ;

for(i

=lt,j

=h ; i

<=

l ; i++)

++h ;

flag =0

;}}for(i=

1; i

<=

n; i++)

system(

"pause");

return0;

}

列舉法 填數

在奧數中會有如下的題目 算 法 描 述 題 x 算題 題 題 題 題 解法 假設每個數字都從0 9迴圈 直到計算出的結果與真實結果相等 pesudeocode 算 i1 法 i2 描 i3 述 i4 題 i5 for i1 1 to 9 for i2 0 to 9 for i3 0 to 9 for...

快速排序(Quick Sort) 挖坑填數法

前面的博文講了氣泡排序 選擇排序 插入排序,今天我們談談快速排序!快速排序的基本思想是 1 先從序列中取出乙個數作為基準數。2 分割槽過程,將比這個數大的數全放到它的右邊,小於或等於它的數全放到它的左邊。分割槽的方式多樣,但一定要保證基準數左邊的數比它大 小 右邊的數比它小 大 3 再對左右區間重複...

蛇形填數和蛇形取數(基礎模擬練習)

1 2 問題 輸入矩陣的規模n,先將數按照下,右,上,左的順序填入矩陣,再按照這樣的順序取出。3解題思路 模擬,按照筆的順序存入取出,注意初始化的時候一定將矩陣全部初始化。4 5 include6 include7 const int n 1001 8 inta n n b n n 9int mai...