L1-054. 福到了
阿新 • • 發佈:2018-04-05
() ret 指定 div tdi space har pre clu
輸入樣例 1:
“福”字倒著貼,寓意“福到”。不論到底算不算民俗,本題且請你編寫程序,把各種漢字倒過來輸出。這裏要處理的每個漢字是由一個 N x N 的網格組成的,網格中的元素或者為字符“@”或者為空格。而倒過來的漢字所用的字符由裁判指定。
輸入格式:
輸入在第一行中給出倒過來的漢字所用的字符、以及網格的規模 N (不超過100的正整數),其間以 1 個空格分隔;隨後 N 行,每行給出 N 個字符,或者為“@”或者為空格。
輸出格式:
輸出倒置的網格,如樣例所示。但是,如果這個字正過來倒過去是一樣的,就先輸出“bu yong dao le”,然後再用輸入指定的字符將其輸出。
$ 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. 福到了