天梯賽 L1-054 福到了
阿新 • • 發佈:2019-01-08
福”字倒著貼,寓意“福到”。不論到底算不算民俗,本題且請你編寫程式,把各種漢字倒過來輸出。這裡要處理的每個漢字是由一個 N × N 的網格組成的,網格中的元素或者為字元 @ 或者為空格。而倒過來的漢字所用的字元由裁判指定。
輸入格式:
輸入在第一行中給出倒過來的漢字所用的字元、以及網格的規模 N (不超過100的正整數),其間以 1 個空格分隔;隨後 N 行,每行給出 N 個字元,或者為 @ 或者為空格。
輸出格式:
輸出倒置的網格,如樣例所示。但是,如果這個字正過來倒過去是一樣的,就先輸出bu yong dao le,然後再用輸入指定的字元將其輸出。
AC的C++程式如下:
#include<iostream> #include<string> #include<cstring> using namespace std; int main() { int flag=0; char a; int n; cin>>a>>n; getchar(); string mp[105]; char af[105][105]; for(int i=0;i<n;i++) { getline(cin,mp[i]); } for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { if(mp[i][j]==' ') { af[n-i-1][n-j-1]=' '; } else { af[n-i-1][n-j-1]=a; } } } for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { if(mp[i][j]!=' '&&af[i][j]==' '||mp[i][j]==' '&&af[i][j]!=' ') { flag=1; } } } if(flag==0) cout<<"bu yong dao le"<<endl; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) { cout<<af[i][j]; } cout<<endl; } }