题目大意:给定一个n*n的01二维数组,将m*m区间压缩成一个字符在输出。
例如,n=6,且数组为:
当m等于3时应输出:
解答:直接将原数组按跨度为m进行输出即可。
代码如下
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const ll M=2e5+7;
ll n,m;
char a[1100][1100];
void solve()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
cin>>a[i][j];
}
for(int i=1;i<=n;i+=m)
{
for(int j=1;j<=n;j+=m)
cout<<a[i][j];
cout<<endl;
}
}
int main()
{
int _=1;
cin>>_;
while(_--) solve();
}