蛇形填數(理解起來超簡單!!!)

2021-10-16 09:18:52 字數 1019 閱讀 7666

話不多說,先放原題。

怎麼說呢,蛇形填數這個填充矩陣的時候方法可能不是很好想,還是很抽象的,但是這個方法絕對非常好理解(邊界模擬法)。

首先,咱們先確定矩陣的四個邊界,在賦值完最外層邊界後,再往裡賦值裡面的乙個子矩陣,不斷迴圈,直至填充完整個矩陣。

ac**(建議先「食用」截圖自己打一遍,帶注釋的哦):

文字格式(一定要自己寫一遍哈):

#include

>

using namespace std;

const int n=110;

int q[n][n],n,m;

int main()//賦值過程中符合矩陣填充的方式

{ cin>>n>>m;

int i,j,s=1,x=n,z=1,y=m,k=1;//上下左右四個邊界,初始值

while(s<=x&&z<=y)

{ for(i=z;i<=y;i++)//上邊界賦值

q[s][i]=k++;

for(i=s+1;i<=x;i++)//右邊界賦值

q[i][y]=k++;

for(i=y-1;i>=z&&ss&&z「飯」後總結:

也不知道大家「食用」的怎麼樣,但是這個題確實是乙個思路的問題,掌握了解題思路,**實現就很簡單了,也希望大家平常能夠多鍛鍊下思維能力,大家一起加油。

fighting!

簡單遞迴之蛇形填數

時間限制 1000 ms 記憶體限制 65535 kb 問題描述 peter喜歡玩字母遊戲,於是他編寫了乙個有趣的遊戲。遊戲規則是在乙個 n 1 n的 裡填寫字母,規則 對於每個輸入的n,由 n 1 n的字母區域的左上角開始,從字母a開始逆時針填充乙個字母區域,乘積若超過26繼續由新一組的a b c...

經典演算法 蛇形填數,最簡單的方法了

你能發現這裡面的數為1到 n n 所以寫個迴圈即可 while count填過的地方不為0了,所以不再填一次 include include using namespace std int a 100 100 void main for x 0 x 輸出 你能發現這裡面的數為1到 n n 所以寫個迴...

posix timer引數理解與簡單使用示例

clock id說明定時器是基於哪個時鐘的,clock id取值為以下 clock realtime systemwide realtime clock.clock monotonic represents monotonic time.cannot be set.clock process cpu...