RT,思路正确 + 本地 AC + 洛谷 IDE AC,全 WA,都是
Wrong Answer.wrong answer Too long on line 5.
#include<bits/stdc++.h>
#define int long long
using namespace std;
int a[5][5];
bool check(){
if(a[1][1]+a[1][4]+a[4][1]+a[4][4]!=34&&a[1][1]+a[1][4]+a[4][1]+a[4][4]<64)return false;
if(a[1][1]+a[1][2]+a[2][1]+a[2][2]!=34&&a[1][1]+a[1][2]+a[2][1]+a[2][2]<64)return false;
if(a[1][3]+a[1][4]+a[2][3]+a[2][4]!=34&&a[1][3]+a[1][4]+a[2][3]+a[2][4]<64)return false;
if(a[3][1]+a[3][2]+a[4][1]+a[4][2]!=34&&a[3][1]+a[3][2]+a[4][1]+a[4][2]<64)return false;
if(a[3][3]+a[3][4]+a[4][3]+a[4][4]!=34&&a[3][3]+a[3][4]+a[4][3]+a[4][4]<64)return false;
if(a[2][2]+a[2][3]+a[3][2]+a[3][3]!=34&&a[2][2]+a[2][3]+a[3][2]+a[3][3]<64)return false;
for(int i=1;i<=4;++i){
if(a[i][1]+a[i][2]+a[i][3]+a[i][4]!=34&&a[i][1]+a[i][2]+a[i][3]+a[i][4]<64)return false;
}
for(int j=1;j<=4;++j){
if(a[1][j]+a[2][j]+a[3][j]+a[4][j]!=34&&a[1][j]+a[2][j]+a[3][j]+a[4][j]<64)return false;
}
if(a[1][1]+a[2][2]+a[3][3]+a[4][4]!=34&&a[1][1]+a[2][2]+a[3][3]+a[4][4]<64)return false;
if(a[1][4]+a[2][3]+a[3][2]+a[4][1]!=34&&a[1][4]+a[2][3]+a[3][2]+a[4][1]<64)return false;
return true;
}
int used[17];
void dfs(int x,int y){
if(x==5&&y==1){
if(check()){
for(int i=1;i<=4;++i){
for(int j=1;j<=4;++j){
cout<<a[i][j];
if(j<4)cout<<" ";
}
cout<<endl;
}
}
return;
}
if(a[x][y]==1){
if(y<4){
dfs(x,y+1);
}
else{
dfs(x+1,1);
}
return;
}
for(int i=2;i<=16;++i){
if(!used[i]){
used[i]=1;
a[x][y]=i;
if(check()){
if(y<4){
dfs(x,y+1);
}
else{
dfs(x+1,1);
}
}
a[x][y]=19260817;
used[i]=0;
}
}
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
int u,v;
cin>>u>>v;
used[1]=1;
for(int i=1;i<=4;++i){
for(int j=1;j<=4;++j){
a[i][j]=19260817;
}
}
a[u][v]=1;
dfs(1,1);
return 0;
}