Mai intai trebuie sa te autentifici.
Diferente pentru utilizator/tytus11 intre reviziile #2 si #1
Nu exista diferente intre titluri.
Diferente intre continut:
h2. Despre mine
_(completeaza aici: studii, an de absolvire, institutie de invatamant, locatie, profesori pregatitori, site personal ...)_#include <fstream> using namespace std; int x[120][120],w[20001],col[10001],lin[10001]; int main() { int n,i,j,tot=0,OK=1,ok=1,b,vector=0,v,a,c,cc,lc,inc,sf,sum=1,kl[4]={-1,1,0,0},kc[4]={0,0,-1,1}; ifstream f("lacuri.in"); ofstream g("lacuri.out"); f>>n; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) f>>x[i][j]; } for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(x[i][j]==1) { v=j+1; while(x[i][v]==1) {sum++; v++;} x[i][j]=-1; inc=1; sf=1; lin[sf]=i; col[sf]=j; while(inc<=sf) {for(c=0;c<=3;c++) { cc=col[inc]+kc[c]; lc=lin[inc]+kl[c]; if(x[lc][cc]==1) { x[lc][cc]=-1; sf++; lin[sf]=lc; col[sf]=cc; } } inc++;} for(a=i;a<i+sum;a++) for(b=j;b<j+sum;b++) if(x[a][b]!=-1) ok=0; if(ok==1) { for(a=j-1;a<sum+j;++a) { if(x[i-1][a]!=0) ok=0; if(x[i+sum][a]!=0) ok=0; } for(a=i-1;a<sum+i;++a) { if(x[a][j-1]!=0) ok=0; if(x[a][j+sum]!=0) ok=0; } } if(ok==1) tot++; else OK=0; sum=1; ok=1; inc=1; sf=1; } g<<tot<<'\n'; if(OK==1) { x[1][1]=1; inc=1; sf=1; lin[sf]=1; col[sf]=1; while(inc<=sf) {for(c=0;c<=3;c++) { lc=lin[inc]+kl[c]; cc=col[inc]+kc[c]; if(lc>0&&lc<=n&&cc>0&&cc<=n) if(x[lc][cc]==0) { x[lc][cc]=x[lin[inc]][col[inc]]+1; sf++; lin[sf]=lc; col[sf]=cc; } } inc++;} cc=n; lc=n; v=x[n][n]; while(v!=1) for(c=0;c<=3;c++) if(x[lc+kl[c]][cc+kc[c]]==v-1) { vector++; w[vector]=cc+kc[c]; vector++; w[vector]=lc+kl[c]; lc=lc+kl[c]; cc=cc+kc[c]; v--; break; } } for(a=vector/2;a>0;a--) g<<w[2*a]<<" "<<w[2*a-1]<<'\n'; g<<n<<" "<<n<<'\n'; f.close(); g.close(); }
_(completeaza aici: studii, an de absolvire, institutie de invatamant, locatie, profesori pregatitori, site personal ...)_
h2. Distinctii primite