CF36B
看见别的题解的代码太过于复杂,我就自己来写了。
这道题可以在原来给你的图上画,不用新开一个二维数组了,可能省了一些时间吧。
一定要加 \text{freopen} ,否则就会全部 WA。
AC Code:
#include <bits/stdc++.h>
using namespace std;
string s1[305], ans[305];
int n, m;
int main()
{
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
cin >> n >> m;
for (int i = 0; i < n; ++i)
cin >> s1[i];
int s = pow(n, m);//先求出最后大小
for (int i = 0; i < s; ++i)
{
for (int j = 0; j < s; ++j) //循环整个大的画
{
int x = i;
int y = j;//记录一下i,j
int cnt = 0;
for (int k = 0; k < m; ++k)
{
if (s1[x % n][y % n] == '*') //小的中找*
{
cnt = 1;
break;
}
x /= n;
y /= n;
}
cout << ((cnt) ? '*' : '.'); //通过cnt的值判断是哪个
}
cout << '\n';
}
}