PTA 1050 螺旋矩陣

2021-09-08 13:44:16 字數 593 閱讀 6485

#include#include#include#include#includeusing namespace std;

bool cmp(int a,int b)

int main()

}// cout<> a(m,vector(n));

int count=1;

int k=0;

int t=0,i,j;

int c=m/2+m%2;

for(int l=0;l=l&&k<=n1-1;j--) a[m-1-l][j]=a1[k++];

for(int j=m-2-l;j>=l+1&&k<=n1-1;j--) a[j][l]=a1[k++];

} for(int i=0;i知識點:

動態記憶體:vector二維向量:定義:vectorb(m,vector(n)):定義乙個m*n大小的vector容器。另外也可以動態變數(現在還不會,沒看懂),也可以在全域性變數定義乙個很大的陣列。

關於找m,n:從sqrt(n)向前找。

關於填充方法:矩形法,尋找四個角的規律。碰壁法,遇到已經填充的格仔改變方向。

大神部落格:

錯誤分析:一開始想用模擬,結果模擬錯誤。

1050 螺旋矩陣 25

測試點2與6沒過 主要的點是 1 求得m與n,這個我是從1到一直到數的一半試的 2 構造螺旋矩陣,使用的是一圈一圈的方法,就是先把最外面的一圈填上,然後再填裡面的一圈,對於最後可能剩下的單獨一列,則是使用的列表是否為空來判斷,因為我把排好序的元素從列表中乙個個的彈出,然後放到矩陣中。未完待續。imp...

1050 螺旋矩陣 25

1050.螺旋矩陣 25 本題要求將給定的n個正整數按非遞增的順序,填入 螺旋矩陣 所謂 螺旋矩陣 是指從左上角第1個格仔開始,按順時針螺旋方向填充。要求矩陣的規模為m行n列,滿足條件 m n等於n m n 且m n取所有可能值中的最小值。輸入格式 輸入在第1行中給出乙個正整數n,第2行給出n個待填...

1050 螺旋矩陣 25分

本題要求將給定的 n 個正整數按非遞增的順序,填入 螺旋矩陣 所謂 螺旋矩陣 是指從左上角第 1 個格仔開始,按順時針螺旋方向填充。要求矩陣的規模為 m 行 n 列,滿足條件 m n 等於 n m n 且 m n 取所有可能值中的最小值。輸入格式 輸入在第 1 行中給出乙個正整數 n,第 2 行給出...