1. 程式人生 > >L1-054. 福到了

L1-054. 福到了

() ret 指定 div tdi space har pre clu

“福”字倒著貼,寓意“福到”。不論到底算不算民俗,本題且請你編寫程序,把各種漢字倒過來輸出。這裏要處理的每個漢字是由一個 N x N 的網格組成的,網格中的元素或者為字符“@”或者為空格。而倒過來的漢字所用的字符由裁判指定。

輸入格式:

輸入在第一行中給出倒過來的漢字所用的字符、以及網格的規模 N (不超過100的正整數),其間以 1 個空格分隔;隨後 N 行,每行給出 N 個字符,或者為“@”或者為空格。

輸出格式:

輸出倒置的網格,如樣例所示。但是,如果這個字正過來倒過去是一樣的,就先輸出“bu yong dao le”,然後再用輸入指定的字符將其輸出。

輸入樣例 1:
$ 9
 @  @@@@@
@@@  @@@ 
 @   @ @ 
@@@  @@@ 
@@@ @@@@@
@@@ @ @ @
@@@ @@@@@
 @  @ @ @
 @  @@@@@
輸出樣例 1:
$$$$$  $ 
$ $ $  $ 
$$$$$ $$$
$ $ $ $$$
$$$$$ $$$
 $$$  $$$
 $ $   $ 
 $$$  $$$
$$$$$  $ 
輸入樣例 2:
& 3
@@@
 @ 
@@@
輸出樣例 2:
bu yong dao le
&&&
 & 
&&&

對角判斷方陣的字符是否相等。
代碼:
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <string>
#include <cstring>
using namespace std;
char s[101][101],ch[2];
int d;
int check()
{
    for(int i = 0;i < d;i ++)
    {
        for(int j = 0;j < d;j ++)
        {
            
if(s[i][j] != s[d - i - 1][d - j - 1])return 0; } } return 1; } int main() { cin>>ch>>d; cin.get(); for(int i = 0;i < d;i ++) { gets(s[i]); } if(check()) { cout<<"bu yong dao le"<<endl; } for(int i = d - 1;i >= 0;i --) { for(int j = d - 1;j >= 0;j --) if(s[i][j] != )cout<<ch[0]; else cout<<s[i][j]; cout<<endl; } }

L1-054. 福到了