#include<bits/stdc++.h>
#define maxnn 1000005
using namespace std;
typedef long long ll;
int a[17][10];
int b[4][4];//存储下落方块矩阵
int main()
{
int n;
for(int j=1;j<=10;j++)
{
a[16][j]=1;//最后一层填充
}
for(int i=1;i<=15;i++)
{
for(int j=1;j<=10;j++)
cin>>a[i][j];
}
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
cin>>b[i][j];
}
cin>>n;
int row;
for(int t=1;t<=13;t++)//模拟下落
{
int k=0,q;
int f=0;
for(int i=t;i<t+4;i++)
{
q=0;
for(int j=n;j<n+4;j++)
{
if(a[i][j] && b[k][q])
{
f=1;
}
q++;
}
k++;
}
if(f)
{
row = t-1;//下落到row行时停止
break;
}
}
int kk=0,qq;
for(int i=row;i<row+4;i++)
{
qq=0;
for(int j=n;j<n+4;j++)
{
a[i][j]^=b[kk][qq];//更新大矩阵
qq++;
}
kk++;
}
for(int i=1;i<=15;i++)
{
for(int j=1;j<=10;j++)
{
cout<<a[i][j]<<' ';
}
cout<<endl;
}
return 0;
}
CSP 201604-2 俄罗斯方块
最新推荐文章于 2023-03-13 15:41:42 发布