如题,我的提交记录
https://www.luogu.com.cn/record/193111560
#include<bits/stdc++.h>//By san_ming
#define int long long
#define AC return 0
#define fin freopen("1.in","r",stdin)
#define fout freopen("1.txt","w",stdout)
using namespace std;
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n,m,a[10010][10]={0};
cin>>n>>m;
int num=6*n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=6;j++)
{
char c;
cin>>c;
if(c=='X')
{
a[i][j]=1;
num--;
}
}
}
if(num<m)
{
cout<<"Impossible";
AC;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(a[i][j]!=a[i][6-j+1]&&m-1>=0)
{
if(a[i][j]==0)
a[i][j]=1;
else
a[i][6-j+1]=1;
m--;
}
}
}
if(m<0||m%2!=0)
{
cout<<"Impossible";
AC;
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=6;j++)
{
if(a[i][j]==a[i][6-j+1]&&a[i][j]==0&&m-1>=0)
{
a[i][j]=1;
a[i][6-j+1]=1;
m-=2;
}
if(m<=0)
break;
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<=6;j++)
{
if(a[i][j]==1)
cout<<"X";
else
cout<<".";
}
cout<<endl;
}
AC;
}