题目描述
题解
根据题目直接模拟即可。
代码
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
#define N 20
int a[N][N],last[N][N],b[N][N];
int n,m,x1,y1,v1,x2,y2,v2,opt,K,v,now,ans;
void copy()
{
for (int i=1;i<=n;++i)
for (int j=1;j<=n;++j)
last[i][j]=a[i][j];
}
void Move(int opt)
{
if (opt==0)
{
memset(b,0,sizeof(b));
for (int i=1;i<=n;++i)
{
int sum=0;
for (int j=1;j<=n;++j)
if (a[j][i]) b[++sum][i]=a[j][i];
}
for (int i=1;i<=n;++i)
for (int j=1;j<=n;++j)
a[i][j]=b[i][j];
}
if (opt==1)
{
memset(b,0,sizeof(b));
for (int i=1;i<=n;++i)
{
int sum=0;
for (int j=n;j>=1;--j)
if (a[j][i]) b[n-(++sum)+1][i]=a[j][i];
}
for (int i=1;i<=n;++i)
for (int j=