試題 演算法訓練 輸出公尺字形 藍橋杯

2021-10-03 01:32:35 字數 1263 閱讀 6352

題目描述

資源限制

時間限制:1.0s 記憶體限制:512.0mb

根據輸入的正整數n (1  公尺字形由乙個(2n-1)*(2n-1)的矩陣組成,矩陣包含從大寫a開始的n個字母

例如:n=3時,包含a,b,c;n=4時,包含a,b,c,d。

矩陣的正中間為n個字母中字典序最大的那個,從這個字母開始,沿著西北、正北、東北、正西、正東、西南、正南、東南八個方向各有一條由大寫字母組成的直線。並且直線上的字母按字典序依次減小,直到大寫字母a。

矩陣的其它位置用英文句號.填充。

樣例輸入一

3樣例輸出一

a.a.a

.bbb.

abcba

.bbb.

a.a.a

樣例輸入二

4樣例輸出二

a..a..a

.b.b.b.

..ccc..

abcdcba

..ccc..

.b.b.b.

a..a..a

解題思路:

先給最中間的位置賦值,然後一層層的向外擴散。迴圈屬於八個方向的位置,賦值相應的字母,最後給剩餘的位置置為字元』.』,最後輸出即可。

注意:(1)迴圈屬於八個方向的位置,要排除掉正中間的位置,即中心點(n,n)的位置。

(2)最後的輸出圖形中,無論是字母還是.之間都是沒有空格的。

ac**:

#include

#include

#include

#include

#include

#include

using

namespace std;

char a[

200]

[200]=

;int

main()

}}} floor++;}

for(i=

1;i<=

2*n-

1;i++

)//給沒有賦值的位置上置為字元'.'

for(j=

1;j<=

2*n-

1;j++

)for

(i=1

;i<=

2*n-

1;i++

)//輸出最後的答案

for(j=

1;j<=

2*n-

1;j++

)return0;

}

試題 演算法訓練 輸出公尺字形

根據輸入的正整數n 1 公尺字形由乙個 2n 1 2n 1 的矩陣組成,矩陣包含從大寫a開始的n個字母 例如 n 3時,包含a,b,c n 4時,包含a,b,c,d。矩陣的正中間為n個字母中字典序最大的那個,從這個字母開始,沿著西北 正北 東北 正西 正東 西南 正南 東南八個方向各有一條由大寫字母...

藍橋杯 演算法訓練 輸出公尺字形Python實現

資源限制 時間限制 1.0s 記憶體限制 512.0mb 根據輸入的正整數n 1 公尺字形由乙個 2n 1 2n 1 的矩陣組成,矩陣包含從大寫a開始的n個字母 例如 n 3時,包含a,b,c n 4時,包含a,b,c,d。矩陣的正中間為n個字母中字典序最大的那個,從這個字母開始,沿著西北 正北 東...

演算法訓練 輸出公尺字形

根據輸入的正整數n 1 公尺字形由乙個 2n 1 2n 1 的矩陣組成,矩陣包含從大寫a開始的n個字母 例如 n 3時,包含a,b,c n 4時,包含a,b,c,d。矩陣的正中間為n個字母中字典序最大的那個,從這個字母開始,沿著西北 正北 東北 正西 正東 西南 正南 東南八個方向各有一條由大寫字母...