现在60分,没血了。。。
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,m,ans,l,r,mid;
bool vis[10][10],flag;
void dfs(int now){
if(flag) return;
if(now==mid){
flag=1;
return;
}
for(register int i=1;i<=n;i++){
for(register int j=1;j<=m;j++){
if(vis[i][j]) continue;
if(j>1&&j<m&&i<n-1&&!vis[i][j-1]&&!vis[i][j]&&!vis[i][j+1]&&!vis[i+1][j]&&!vis[i+2][j]){
vis[i][j-1]=vis[i][j]=vis[i][j+1]=vis[i+1][j]=vis[i+2][j]=1;
dfs(now+1);
vis[i][j-1]=vis[i][j]=vis[i][j+1]=vis[i+1][j]=vis[i+2][j]=0;
if(flag) return;
}
if(i>1&&i<n&&j<m-1&&!vis[i-1][j]&&!vis[i][j]&&!vis[i+1][j]&&!vis[i][j+1]&&!vis[i][j+2]){
vis[i-1][j]=vis[i][j]=vis[i+1][j]=vis[i][j+1]=vis[i][j+2]=1;
dfs(now+1);
vis[i-1][j]=vis[i][j]=vis[i+1][j]=vis[i][j+1]=vis[i][j+2]=0;
if(flag) return;
}
if(j>1&&j<m&&i>2&&!vis[i][j-1]&&!vis[i][j]&&!vis[i][j+1]&&!vis[i-1][j]&&!vis[i-2][j]){
vis[i][j-1]=vis[i][j]=vis[i][j+1]=vis[i-1][j]=vis[i-2][j]=1;
dfs(now+1);
vis[i][j-1]=vis[i][j]=vis[i][j+1]=vis[i-1][j]=vis[i-2][j]=0;
if(flag) return;
}
if(i>1&&i<n&&j>2&&!vis[i-1][j]&&!vis[i][j]&&!vis[i+1][j]&&!vis[i][j-1]&&!vis[i][j-2]){
vis[i-1][j]=vis[i][j]=vis[i+1][j]=vis[i][j-1]=vis[i][j-2]=1;
dfs(now+1);
vis[i-1][j]=vis[i][j]=vis[i+1][j]=vis[i][j-1]=vis[i][j-2]=0;
if(flag) return;
}
}
}
}
int main(){
scanf("%d%d",&n,&m);
l=1;
r=n*m/4;
while(l<=r){
mid=(l+r)>>1;
flag=0;
dfs(0);
if(flag){
ans=mid;
l=mid+1;
}else r=mid-1;
}
printf("%d",ans);
return 0;
}
```
by YuRuochen @ 2022-11-04 22:41:01
标题意思是什么。
by Halo_world @ 2022-11-04 22:48:48
@[I_am_xzo](/user/584746)
AC+WA+T(
by MeowScore @ 2022-11-04 22:57:42
翻译:大部分 AC,几个 TLE,几个 WA,改了以后没有 WA 了
by qwasd @ 2022-11-04 22:59:45