l1-054 福到了 (15 分)
「福」字倒著貼,寓意「福到」。不論到底算不算民俗,本題且請你編寫程式,把各種漢字倒過來輸出。這裡要處理的每個漢字是由乙個 n × n 的網格組成的,網格中的元素或者為字元 @ 或者為空格。而倒過來的漢字所用的字元由裁判指定。
輸入格式:
輸入在第一行中給出倒過來的漢字所用的字元、以及網格的規模 n (不超過100的正整數),其間以 1 個空格分隔;隨後 n 行,每行給出 n 個字元,或者為 @ 或者為空格。
輸出格式:
輸出倒置的網格,如樣例所示。但是,如果這個字正過來倒過去是一樣的,就先輸出bu yong dao le,然後再用輸入指定的字元將其輸出。
輸入樣例 1:
$ 9
@ @@@@@
@@@ @@@
@ @ @
@@@ @@@
@@@ @@@@@
@@@ @ @ @
@@@ @@@@@
@ @ @ @
@ @@@@@
輸出樣例 1:
$$$$$ $
$ $ $ $
$$$$$ $$$
$ $ $ $$$
$$$$$ $$$
$$$ $$$
$ $ $
$$$ $$$
$$$$$ $
輸入樣例 2:
& 3@@@
@ @@@
輸出樣例 2:
bu yong dao le
&&& &
&&&
【思路】
不是非常難的題,用遞迴能很輕鬆解掉,關鍵是注意一下坑點就行了。
字元讀入的時候會將輸入末尾的回車符也讀進去,要想不讓回車進行干擾,就用getchar函式在必要的時候讀掉回車即可!
ac**:
#include
using namespace std;
char ch;
int len;
int n;
int g;
//邊界
const
int maxn =
102;
char a[maxn]
[maxn]
;char b[maxn]
[maxn]
;voidf(
int k)
//f函式,把第k排以下的部分都倒過去
if(k != n)
//base case: k == g
f(k +1)
;}bool judge()
}return true;
}int
main()
getchar()
;//讀回車
}
len = n +1;
f(1)
;if(judge()
)//加個判斷即可
for(
int i =
1;i <= n;i++
) cout << endl;
}return0;
}
PTA天梯賽訓練題 福到了
福 字倒著貼,寓意 福到 不論到底算不算民俗,本題且請你編寫程式,把各種漢字倒過來輸出。這裡要處理的每個漢字是由乙個 n n 的網格組成的,網格中的元素或者為字元 或者為空格。而倒過來的漢字所用的字元由裁判指定。輸入在第一行中給出倒過來的漢字所用的字元 以及網格的規模 n 不超過100的正整數 其間...
pat天梯賽L1 054 福到了
時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 福 字倒著貼,寓意 福到 不論到底算不算民俗,本題且請你編寫程式,把各種漢字倒過來輸出。這裡要處理的每個漢字是由乙個 n x n 的網格組成的,網格中的元素或者為字元 或者為空格。而...
PAT 天梯賽 L1 054 福到了(模擬)
本題要求倒著輸出,輸出時換成另乙個字元,所以就在剛輸入到陣列 第乙個陣列 的時候下手,輸入的是空格,那麼新陣列 第二個 就是空格,輸入的是字元,那麼新陣列是另乙個要求的字元,最後橫縱座標都倒過來就完成倒著輸出了。因為還要判斷倒過來和原來的形式是否是一樣的,這就需要又乙個新陣列 第三個 新陣列的內容是...