fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define IO ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
  4. #define ll long long
  5. const int N = 9 ;
  6. int dx[]= {1,-1,0,0};
  7. int dy[]= {0,0,1,-1};
  8. int a[N][N] ;
  9. vector<int>v;
  10. vector<pair<int,int> >idx;
  11. int cnt ;
  12. int main()
  13. {
  14. IO
  15. int t ;
  16. cin>>t;
  17. while(t--)
  18. {
  19. cnt++;
  20. int freq[17]= {};
  21. idx.clear();
  22. v.clear();
  23. for(int i=0 ; i<4 ; i++)
  24. {
  25. for(int j=0 ; j<4 ; j++)
  26. {
  27. cin>>a[i][j];
  28. if(a[i][j]==-1)
  29. idx.push_back({i,j});
  30. else
  31. freq[a[i][j]]=1;
  32. }
  33. }
  34. for(int i=1 ; i<=16 ; i++)
  35. if(!freq[i])
  36. v.push_back(i);
  37. do{
  38. int rep[65] = {} ;
  39. int x=0;
  40. for(int i=0 ; i<9 ; i++)
  41. a[idx[i].first][idx[i].second]=v[i];
  42. for(int i=0 ; i<4 ; i++)
  43. {
  44. int sum_1= 0 , sum_2=0 ;
  45. for(int j=0 ; j<4 ; j++)
  46. {
  47. sum_1+=a[i][j];
  48. sum_2+=a[j][i];
  49. }
  50. rep[sum_1]++;
  51. rep[sum_2]++;
  52. }
  53. for(int i=1 ; i<=64 ; i++)
  54. x+=(rep[i]==8);
  55. if(x)
  56. {
  57. cout<<"Case "<<cnt<<":\n";
  58. for(int i=0 ; i<4 ; i++)
  59. {
  60. for(int j=0 ; j<4 ; j++)
  61. {
  62. if(j==3)
  63. cout<<a[i][j];
  64. else
  65. cout<<a[i][j]<<' ';
  66. }
  67. cout<<'\n';
  68. }
  69. break;
  70. }
  71.  
  72. }while(next_permutation(v.begin(),v.end()));
  73. }
  74.  
  75.  
  76. return 0;
  77. }
Success #stdin #stdout 0.01s 5476KB
stdin
Standard input is empty
stdout
Standard output is empty