2938 字母旋轉遊戲

2021-06-21 14:58:20 字數 1468 閱讀 5655

描述給定兩個整數m,n,生成乙個m*n的矩陣,矩陣中元素取值為a至z的26個字母中的乙個,a在左上角,其餘各數按順時針方向旋轉前進,依次遞增放置,當超過26時又從a開始填充。例如,當m=5,n=8時,矩陣中的內容如下:

a   b   c   d   e   f   g   h

v   w   x   y   z   a    b    i

u   j   k   l   m   n   c   j

t    i   h   g   f   e   d   k

s   r  q   p   o   n   m   l

輸入m為行數,n為列數,其中m,n都為大於0的整數,m和n不大於50。

輸出分行輸出相應的結果

樣例輸入

4 9樣例輸出

a   b   c   d   e   f   g   h   i

v   w   x   y   z   a   b   c   j

u   j   i   h   g   f   e   d   k

t   s   r   q   p   o   n   m   l

思路:定義乙個二位陣列表示該矩陣,我定義的是乙個二位整形陣列,當然你也可以定義乙個二位的字元陣列.然後可以深搜的去旋轉改變陣列裡的數值,當然也可以模擬路徑去改變量值,下面我給出了兩種方法的原始碼(ps:**寫的不好別噴哦),我是在堆裡定義的陣列,所以初始裡面全是0,於是我就用1~26表示26個字母,當然你也可以去顯示的初始化,那樣你初始化為-1,就可以用0~25表示26個字母,這樣更方便.

//深搜

#include #include using namespace std;

int m,n;

int a[50][50];

int dx = ;

int dy = ;

void dfs(int y,int x,int n,int flag)

}int main()

printf("\n");

}}

//模擬

#include #include using namespace std;

int a[50][50];

int main()

}else if(flag == 1)

}else if(flag == 2)

}else if(flag == 3)}}

for(i = 0 ; i < m ; i++)

printf("\n");

}return 0;

}

一學妹讓我幫她改了一**後從其基礎上又得到下面**:

#include #include using namespace std;

const int max_n=100;

int a[max_n][max_n];

int main()

for(x=0;x

POJ 3752 字母旋轉遊戲

字母旋轉遊戲 time limit 1000ms memory limit 65536k total submissions 7053 accepted 2642 description 給定兩個整數m,n,生成乙個m n的矩陣,矩陣中元素取值為a至z的26個字母中的乙個,a在左上角,其餘各數按順時...

POJ 3752 字母旋轉遊戲 模擬 動態陣列

description 給定兩個整數m,n,生成乙個m n的矩陣,矩陣中元素取值為a至z的26個字母中的乙個,a在左上角,其餘各數按順時針方向旋轉前進,依次遞增放置,當超過26時又從a開始填充。例如,當m 5,n 8時,矩陣中的內容如下 a b c d e f g h v w x y z a b i...

poj 3752 字母旋轉遊戲 類似搜尋

total submissions 7417 accepted 2804 這道題大概的意思就是 從a z 一直不斷的迴圈旋轉,一直繞到中心 剛開始看到這道是我是試圖尋找規律 每次方向是左下右上 然後我就想到了傳說中的迷宮搜尋 用迷宮搜座標的形式來搜這道題 然後控制xy幾很好做了 include in...