-
1.
+2 -3//SORU 775Tümünü Göster
//PROGRAM C++
4. include<iostream>
5. include<cstdio>
6. define N 9
FILE *in,*out;
int mat[10][10],sat[10][10],sut[10][10],al[10][10];
int kon[10][10][2],ukon[10][10];
int read()
{
int t,z,v;
char s[90];
if(fscanf(in,"%s",s)==-1)
return 0;
for(t=0;t<N;t++)
for(z=0;z<N;z++)
{
if(s[t*N+z]!='.')
mat[t][z]=s[t*N+z]-'0';
else mat[t][z]=0;
}
// for(t=0;t<N;t++,printf("n"))
// for(z=0;z<N;z++)
// printf("%d ",mat[t][z]);
for(t=0;t<N;t++)
for(z=0;z<N;z++)
sat[t][mat[t][z]]=1;
for(t=0;t<N;t++)
for(z=0;z<N;z++)
sut[t][mat[z][t]]=1;
for(t=0;t<N;t++)
for(z=0;z<N;z++)
al[t][mat[kon[t][z][0]][kon[t][z][1]]]=1;
return 1;
}
int aktar()
{
int t,z,v,x,y,i;
for(x=0,v=0;x<N;x+=3)
for(y=0;y<N;y+=3)
{
for(t=0,i=0;t<3;t++)
for(z=0;z<3;z++)
{
kon[v][i][0]=t+x;
kon[v][i][1]=z+y;
ukon[t+x][z+y]=v;
i++;
}
v++;
}
// for(t=0;t<N;t++,printf("nn"))
// for(z=0;z<N;z++)
// printf("<%d,%d> ",kon[t][z][0],kon[t][z][1]);
}
int cikarim()
{
int t,z,v,i,j,gx,gy;
for(t=1;t<=N;t++)
{
for(z=0;z<N;z++)
{
if(al[z][t])
continue;
for(v=0,i=0;v<N;v++)
if(!sat[kon[z][v][0]][t] && !sut[kon[z][v][1]][t]
&& !mat[kon[z][v][0]][kon[z][v][1]])
{
gx=kon[z][v][0];
gy=kon[z][v][1];
i++;
}
if(i==1)
{
al[z][t]=1;
sat[gx][t]=1;
sut[gy][t]=1;
mat[gx][gy]=t;
}
}
}
}
int DFS(int x,int y)
{
int t,z,v;
// printf("x:%d y:%dn",x,y);
// for(t=0;t<N;t++,printf("n"))
// for(z=0;z<N;z++)
// printf("%d ",mat[t][z]);
// getchar();
if(x==N)
return 1;
if(mat[x][y])
{
if(DFS(x,y+1))
return 1;
return 0;
}
if(y>=N)
{
if(DFS(x+1,0))
return 1;
return 0;
}
for(t=1;t<=N;t++)
{
if(sat[x][t] || sut[y][t] || al[ukon[x][y]][t])
continue;
mat[x][y]=t;
sat[x][t]=1;sut[y][t]=1;al[ukon[x][y]][t]=1;
if(DFS(x,y+1))
return 1;
mat[x][y]=0;
sat[x][t]=0;sut[y][t]=0;al[ukon[x][y]][t]=0;
}
return 0;
}
int sifirla()
{
int t,z,v;
for(t=0;t<=N;t++)
for(z=0;z<=N;z++)
{
mat[t][z]=0;
sut[t][z]=0;
sat[t][z]=0;
al[t][z]=0;
}
}
main()
{
int t,z,v;
// in = fopen("sudoku.in","r");
// out= fopen("sudoku.out","w");
in = stdin;
out= stdout;
aktar();
while(read())
{
cikarim();
DFS(0,0);
for(t=0;t<N;t++)
for(z=0;z<N;z++)
fprintf(out,"%d",mat[t][z]);
fprintf(out,"n");
sifirla();
}
}
cozdurun egonuzu tatmin edin -
2.
0isinize yarar belki, suku verin
-
3.
0derlenmis halinide atiyim isterseniz
-
4.
0hadi la suku verin iki uc, nesemizi bulalim
-
5.
0@6 n koy bari
-
6.
0lan ne diye kotuluyonuz amk
-
7.
0@10 windows compileri yok linux tayim, bu ezikler linux kullanmiyodur
-
8.
0@8 zor olmasa gerek
-
9.
0lan malmisiniz ne diye kotu oyluyonuz iki bi suku verin dedik ipneler
-
10.
0kotuleyin amk kotuleyin
-
11.
0@14 gerizekali yarim saatte yazdik proje kodu mu yaziyoz sanki
-
12.
0@18 suku ver
-
13.
0bi ipne daha kotulemis iyi mi
-
14.
0@20 napcan lan fortran i ezik, brainfuckta yaziyim istersen
-
15.
0@23 oz hakiki benim kodum her turlu kayarim anlatiyim istersen kodu, eksicileri gibiyim
-
16.
0iyi ki bi suku verin dedik
-
yeni din hocanız ördek hoca
-
cccrammsteinccc bu resimde ne görüyorsunn
-
millet çatır çatır si
-
gelenler direkt caylak veya silik amk
-
bi kadınn geldii
-
şu instada bı kız takip isteği atıp
-
inci sözlügün bitik bir yer olduğu gerçeği
-
ne içtiğimi bilene nickckckkc6
-
deniz akkaya 10 yıl sonra akrep nalanaa
-
ben grand hariltonu havaya uçuracak olan kişiyim
-
fotoları hangi siteye yüklüyoruz şimdi
-
beyler bu karıyı dövmüşler
-
beni taşak kökümden bağlayıp tavana asıp
-
aga taylanda gitsem saglam bir femboy bulup
- / 1