- 看完这个图片之后,再看看样例,其实基本上就能了解题目大意了。
- 在当前纸牌需要移到最后
(
n
,
m
)
(n,m)
(n,m)的时候只要空格还存在一个,除去
(
1
,
1
)
(1,1)
(1,1)和
(
n
,
m
)
(n,m)
(n,m),即可移动。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int T;cin>>T;
while(T--)
{
int n,m,k;cin>>n>>m>>k;
vector<int> a(k+1);
for(int i=1;i<=k;i++) cin>>a[i];
set<int> b;
int res=n*m;
int ans=k;
bool ok=false;
for(int i=1;i<=k;i++)
{
b.insert(a[i]);
while(!b.empty() && *--b.end()==ans)
{
ans--;
b.erase(*--b.end());
}
if(b.size()>=res-3)
{
cout<<"TIDAK"<<endl;
ok=true;
break;
}
}
if(!ok) cout<<"YA"<<endl;
}
return 0;
}