ACM程序设计选修课——1030: Hungar的时尚球场(水题+耐心)
?
1030: Hungar的時(shí)尚球場(chǎng)
Time Limit:?1 Sec??Memory Limit:?64 MBSubmit:?14??Solved:?8
[Submit][Status][Web Board]
Description
從NBA新秀訓(xùn)練中心回來(lái)以后,Hungar意識(shí)到自己的水平還不足以在NBA立足,于是他決定每天去球場(chǎng)練習(xí)。
這天他來(lái)到一個(gè)球場(chǎng),卻發(fā)現(xiàn)這個(gè)球場(chǎng)十分破舊不堪,這讓他無(wú)法忍受,在他看來(lái)這個(gè)球場(chǎng)應(yīng)該是這樣的:??球場(chǎng)的大小是n*n,而且這個(gè)球場(chǎng)應(yīng)該被大寫(xiě)的英文字母所填充,填充規(guī)則是這樣的,球場(chǎng)的最外面一圈用'A'填充,里面一圈用'B'填充,.....,?直到球場(chǎng)被填滿,如果填到'Z'棋盤(pán)還沒(méi)?滿的話,接下來(lái)用的就又是'A',‘B’..以此類推
現(xiàn)在告訴你球場(chǎng)的大小,請(qǐng)告訴Hungar填滿以后的球場(chǎng)是什么樣子的。
Input
第一行一個(gè)整數(shù)T(T?<=100),?代表有T組數(shù)據(jù).
對(duì)于每一組數(shù)據(jù),包含一個(gè)整數(shù)n(1?<=?n?<=?100).
Output
第一行輸出”Case?#X:?”(不包括引號(hào)),X代表第X組數(shù)據(jù)
n行,每行n個(gè)字符,代表填充以后的球場(chǎng).
Sample Input
2 2 3Sample Output
Case #1: AA AA Case #2: AAA ABA AAA題目本身很簡(jiǎn)單,就是需要耐心不停地調(diào)試來(lái)控制變量的范圍。與HDU2074疊框很相似
,但又稍有不同。本想拿那道代碼來(lái)當(dāng)模版的,想想還是算了,簡(jiǎn)單的還是自己寫(xiě)吧。
寫(xiě)的比疊框那代碼要好。簡(jiǎn)單易懂。
代碼:
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<queue> #include<set> #include<map> #include<sstream> #include<algorithm> #include<cmath> #include<cstdlib> using namespace std; char list[600][600]; int n; void change(const int &x,const int &y,const char &c)//按順序包邊上→,左↑,右←,右↓ {for (int i=x; i<=n-1-x; i++) {list[x][i]=c;}for (int i=n-y-1; i>=y; i--){list[i][y]=c;}for (int i=n-1-x; i>=x; i--){list[n-1-x][i]=c;}for (int i=y; i<=n-1-y; i++){list[i][n-1-y]=c;} } int main (void) {int t,i,j;char c;cin>>t;for (int q=1; q<=t; q++){memset(list,0,sizeof(list));//清空一下cin>>n;c='A';for (int i=0; i<=n/2; i++){if(c>'Z')c-=26;change(i,i,c);c++;} cout<<"Case #"<<q<<":"<<endl;for (int i=0; i<n; i++){for (int j=0; j<n; j++){cout<<list[i][j];}cout<<endl;}} return 0; }轉(zhuǎn)載于:https://www.cnblogs.com/Blackops/p/5356410.html
總結(jié)
以上是生活随笔為你收集整理的ACM程序设计选修课——1030: Hungar的时尚球场(水题+耐心)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 想做测试经理的看过来
- 下一篇: Android-应用性能测试