经过观察,发现只要延小区域 右上-左下 的对角线填满X即可,那么就是可以总结为满足(i + j) % k == (r + c) % k
#include <bits/stdc++.h>
using namespace std;
int t;
void solve(){
int n, k, r, c;
cin >> n >> k >> r >> c;
for(int i = 1; i <= n ; i++)
{
for(int j = 1; j <= n ; j++)
{
if((i+j) % k == (r + c) % k)
cout << "X" ;
else
cout << ".";
}
cout << endl;
}
return;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin >> t;
while(t--){
solve();
}
return 0;
}