Advertisement
Guest User

Untitled

a guest
Aug 19th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.49 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)g[p][a+1]=1;
  13.     f(9)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;
  14.    
  15.     f(10)
  16.         if(g[p][a])
  17.         {
  18.             u=!a?u:a;
  19.             if(l(p+1))return printf(p%9?"%d ":"%d \n",u)|1;
  20.             u=0;
  21.         }
  22.  
  23.     return 0;
  24. }
  25.    
  26. int main()
  27. {
  28.     int y;
  29.     char c[9];
  30.     for(y=0;y<81&&(y%9!=0||scanf("%s",c)|1);y++)g[80-y][0]=(c[y%9]-48);
  31.     l(0);
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement