題意:
給定n,m表示矩陣的行與列,已經整個矩陣的值,然後按照順時針方向列印該矩陣。
例:題解:
可以將每列印一圈看成乙個週期;
即:第一步:從左到右列印;
第二步:從上到下列印;
第三步:從右到左列印;
第四步:從下到上列印;
其中對於每個週期,第一步肯定是會進行的,但是其他步驟不一定會進行,於是加以特判,具體見**:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define lowbit(x) x&(-x)
#define ll long long
#define inf 0x3f3f3f3f
using
namespace std;
const
double pi=
3.14159
;const
int maxn=
1e5;
const
int mod=
1e3;
int mp[
210]
[210];
int n,m;
vector<
int>ve;
//存結果
void
printonecircle
(int start)
//從上到下
if(start
}//從右到左
if(start
}//從下到上
if(start
}}intmain()
}int start=0;
while
(n>=
2*start&&m>=
2*start)
printf
("%d"
,ve[0]
);for(
int i=
1;isize()
;i++
) cout<
return0;
}
題意:給定n,m表示矩陣的行與列,已經整個矩陣的值,然後按照之字型列印該矩陣。
題解:
該題解參考於這篇部落格:
先是row1和col2變化,當row1 == row-1時,col1變化;col2==col-1時,row2變化
注意一點是:在進行如下操作時,前邊的兩組,判斷條件是row1,且它還要變化,所以應該是col1先使用條件
下邊兩組同理。
具體見**:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define lowbit(x) x&(-x)
#define ll long long
#define inf 0x3f3f3f3f
using
namespace std;
const
double pi=
3.14159
;const
int maxn=
1e5;
const
int mod=
1e3;
int mp[
210]
[210];
int n,m;
void
printlevel
(int row1,
int col1,
int row2,
int col2,
bool flag)
}//從上往下
else}}
void
print()
}int
main()
}print()
;printf
("\n");
return0;
}
題意:給定n表示矩陣大小為n*n,然後給出矩陣各個位置的值
求該矩陣按照順時針方向旋轉90度後的矩陣
題解:
尋找下規律後能發現:
b[i][j]=a[n-1-j][i]
(其中a表示原矩陣、b表示旋轉後得到的矩陣)
i,j均從0開始
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define lowbit(x) x&(-x)
#define ll long long
#define inf 0x3f3f3f3f
using
namespace std;
const
double pi=
3.14159
;const
int maxn=
1e5;
const
int mod=
1e3;
int a[
210]
[210];
int n;
int b[
210]
[210];
intmain()
}for
(int i=
0;ifor(
int i=
0;i}return0;
}
旋轉列印矩陣 旋轉儲存矩陣 之字形列印矩陣
題目 輸入乙個矩陣,按照從外向裡以順時針順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 有三問 1 如何實現轉圈列印矩陣?2 如何實現順時針旋轉矩陣?3 如何實現 之 字形列印矩陣?題外話 由於要列印輸出矩陣,從題目可以...
列印旋轉矩陣
給定乙個整形矩陣matrix,請按照旋轉的方式列印它 例如 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 列印結果為 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10 本題在演算法上沒有難度,關鍵在於設計一種邏輯容易理解 易於實現的轉圈遍歷...
列印矩陣 旋轉矩陣 矩陣查詢(c )
2 旋轉正方形矩陣 vector方法 後續更新 3 之列印 後續更新 4 矩陣查詢 後續更新 不能想如何進行座標位置變換到下乙個,很難。應該考慮資料狀況,從巨集觀上進行分解。若傳入陣列為二維 int a,且不能確定長和寬。way1 下面方法也能獲取長度 1 int lines sizeof a si...