• L1-054 福到了 (15 分)


    L1-054 福到了 (15 分)

    “福”字倒着贴,寓意“福到”。不论到底算不算民俗,本题且请你编写程序,把各种汉字倒过来输出。这里要处理的每个汉字是由一个 (N imes N) 的网格组成的,网格中的元素或者为字符 @ 或者为空格。而倒过来的汉字所用的字符由裁判指定。

    输入格式:

    输入在第一行中给出倒过来的汉字所用的字符、以及网格的规模 (N) (不超过 (100) 的正整数),其间以 (1) 个空格分隔;随后 (N) 行,每行给出 (N) 个字符,或者为 @ 或者为空格。

    输出格式:

    输出倒置的网格,如样例所示。但是,如果这个字正过来倒过去是一样的,就先输出 bu yong dao le,然后再用输入指定的字符将其输出。

    输入样例1:

    $ 9
     @  @@@@@
    @@@  @@@ 
     @   @ @ 
    @@@  @@@ 
    @@@ @@@@@
    @@@ @ @ @
    @@@ @@@@@
     @  @ @ @
     @  @@@@@
    

    输出样例1:

    $$$$$  $ 
    $ $ $  $ 
    $$$$$ $$$
    $ $ $ $$$
    $$$$$ $$$
     $$$  $$$
     $ $   $ 
     $$$  $$$
    $$$$$  $ 
    

    输入样例2:

    & 3
    @@@
     @ 
    @@@
    

    输出样例2:

    bu yong dao le
    &&&
     & 
    &&&
    

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    int n,flag;
    char ch,c;
    string s[105],ans[105];
    int main()
    {
        cin>>c>>n;
        while((ch=getchar())!='
    ')continue;
        for(int i=1;i<=n;i++)
        {
            getline(cin,s[i]);
            ans[i]=s[i];
            reverse(ans[i].begin(),ans[i].end());
        }
        for(int i=1;i<=n;i++)
            if(ans[i]==s[n-i+1])flag++;
        if(flag==n)cout<<"bu yong dao le"<<endl;
        for(int i=n;i>=1;i--)
        {
            for(int j=0;ans[i][j]!='';j++)
                if(ans[i][j]=='@')cout<<c;
                else cout<<ans[i][j];
            cout<<endl;
        }
        return 0;
    }
    
  • 相关阅读:
    Thrift安装编译指南
    Linux磁盘与文件系统管理
    你懂得C,所以C++也不在话下
    加速NFV(网络功能虚拟化)数据面:SR-IOV和DPDK[原文意译]
    十张图看懂SDN与NFV的区别与联系?
    Lambda表达式用法
    论文写作+gnuplot制图
    私钥、公钥、数字签名和数字证书
    synchronized和Lock的异同
    介绍HTTP协议的传输过程
  • 原文地址:https://www.cnblogs.com/LengYun/p/14687635.html
Copyright © 2020-2023  润新知