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;
}
原文地址:https://www.cnblogs.com/RootVount/p/10741494.html