• 2019中山大学程序设计竞赛 Enlarge it(水题)


    Problem Description
    Taotao is glad to see that lots of students have registered for today's algorithm competition. Thus he wants to pull a banner on the wall. But Taotao is so stupid that he doesn't even know how to enlarge words to fit the size of banner. So Taotao gives you a slogan template and asked you to enlarge them in k times.
     
    Input
    There are multiple test cases.
    For each test case, first line contains three numbers n, m, k (1<=n, m<=100,1<=k<=10).
    The next n lines each contain m visible characters.
     
    Output
    For each test case, you should output k*n lines each contain k*m visible characters to represent the expanded slogan.
     
    Sample Input
    3 3 2
    .*.
    .*.
    .*.
     
    Sample Output
    ..**..
    ..**..
    ..**..
    ..**..
    ..**..
    ..**..
    #include <cstdio>
    #include <iostream>
    #include <vector>
    #include <string>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #include <queue>
    using namespace std;
    #define ll long long
    const int inf = 0x3f3f3f3f;
    const  ll linf  =1LL<<50;
    const int maxn = 1e5+8;
    const ll lmaxn = 2*1e9+8;
    const ll mod = 1000000007;
    int sign[10000+8];
    char a[100+8][100+8];
    int n, m, k;
    int main()
    {
        while(~scanf("%d%d%d", &n, &m, &k) && (n+m+k))
        {
            getchar();
            int cnt = 0;
            for(int i = 1; i<=n; i++)
            {
                for(int j = 1; j<=m; j++)
                {
                    scanf("%c", &a[i][j]);
                    if(j>1 && a[i][j] != a[i][j-1])
                    {
                        sign[cnt++] = j-1;
    //                    cout<<sign[cnt-1]<<endl;
                    }
                    if(j == m)
                    {
                        sign[cnt++] = j;
    //                    cout<<sign[cnt-1]<<endl;
                    }
                }
                getchar();
            }
            int miao = 0, ying = 0;;
            for(int i = 1; i <= n; i++)
            {
                for(int j = 1; j <= m*k; j++)
                {
                    printf("%c",a[i][sign[miao]]);
                    if(j == sign[miao]*2)
                    {
                        miao++;
                    }
                }
                printf("
    ");
                for(int j = 1; j <= m*k; j++)
                {
                    printf("%c",a[i][sign[ying]]);
                    if(j == sign[ying]*2)
                    {
                        ying++;
                    }
                }
                printf("
    ");
            }
        }
        return 0;
    }
  • 相关阅读:
    [MSDN] How to Debug a Release Build
    抽象成员 虚方法
    强制类型转换符 和 as 运算符
    一份超长的MySQL学习笔记
    Java反射基础
    c3p0config.xml
    一个JDBC封装工具类
    Spring5——IOC操作Bean管理(基于xml文件)
    Android游戏开发大全
    移除项目里的所有.svn命令
  • 原文地址:https://www.cnblogs.com/RootVount/p/10741494.html
Copyright © 2020-2023  润新知