Pagini recente » Atasamentele paginii template/abc2 | Diferente pentru problema/nogame intre reviziile 15 si 19 | Diferente pentru sandbox intre reviziile 497 si 570 | rollercoaster | Diferente pentru utilizator/tytus11 intre reviziile 5 si 2
Diferente intre titluri:
Titus Bazatu a.k.a. SEFU#1, tata banilor si bossu mafiotilor
Profil tytus11
Diferente intre continut:
== include(page="template/noprofile") ==
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();
}
h2. Distinctii primite
* _(completeaza aici: locuri obtinute la concursuri de informatica)_
h2. Prieteni pe infoarena
* _(completeaza aici: link-uri catre profilele altor utilizatori infoarena pe care ii cunosti)_
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.