Submission #74103

#TimeUsernameProblemLanguageResultExecution timeMemory
74103charlies_mooProsjecni (COCI16_prosjecni)C++98
24 / 120
1087 ms2324 KiB
#include <cstdio> #include <iostream> using namespace std; long long n; int matrix[101][101]; bool used[100000001]; bool check() { long long row[100],col[100]; for(long long i=0;i<n;i++) { int count_=0; row[i]=0; for(long long j=0;j<n;j++) row[i]+=matrix[i][j]; for(long long j=0;j<n;j++) if(matrix[i][j]*n!=row[i]) count_++; if(count_==n) return false; } for(long long j=0;j<n;j++) { int count_=0; col[j]=0; for(long long i=0;i<n;i++) col[j]+=matrix[i][j]; if(count_==n) return false; } return true; } bool flag=false; void vio(int x,int y) { if(flag) return; if(x==n && y==n) { if(check()) { flag=true; for(int i=0;i<n;i++) { for(int j=0;j<n;j++) cout<<matrix[i][j]<<' '; cout<<endl; } } return; } if(y==n) x++,y=0; for(int i=1;i<=n*n*n;i++) { if(flag) return; if(used[i]) continue; used[i]=1; matrix[x][y]=i; vio(x,y+1); if(flag) return; used[i]=0; } } int main() { cin>>n; vio(0,0); if(!flag) cout<<"-1"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...