Advertisement
Guest User

Untitled

a guest
Aug 19th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.51 KB | None | 0 0
  1. #include <stdio.h>
  2. int g[81][10];
  3. #define j(x) g[x][0]
  4. #define u j(p)
  5. #define f(n)for(a=0;a<n;a++)
  6.  
  7. int l(int p)
  8. {    
  9.     if(p>80)return 1;
  10.        
  11.     int a;
  12.     f(9)
  13.         g[p][a+1]=1;
  14.     f(9)
  15.         g[p][j(p/9*9+a)]=g[p][j(p%9+9*a)]=g[p][j(p%9/3*3+p/27*27+a/3*9+a%3)]=0;
  16.    
  17.     f(10)
  18.         if(g[p][a])
  19.         {
  20.             u=!a?u:a;
  21.             if(l(p+1))
  22.                 return printf(p%9?"%d ":"%d \n",u)|1;
  23.             u=0;
  24.         }
  25.  
  26.     return 0;
  27. }
  28.    
  29. int main()
  30. {
  31.      
  32.     int y;
  33.     char c[9];
  34.     for(y=0;y<81&&(y%9!=0||scanf("%s",c)|1);y++)
  35.         g[80-y][0]=(c[y%9]-48);
  36.     l(0);
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement