Pagini recente » Cod sursa (job #979235) | Cod sursa (job #626340) | Cod sursa (job #1785308) | Cod sursa (job #513709) | Cod sursa (job #2416884)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin ("puncte3.in");
ofstream fout ("puncte3.out");
int n,a[1001][1001],k;
struct valori
{
int lin,col;
} v[1002001];
int main()
{
fin>>n;
for(int i=1; i<=n; i++)
{
int x,y;
fin>>x>>y;
k++;
a[y+1][x+1]=1;
v[k].lin=y+1;
v[k].col=x+1;
}
int i=1,j;
while(i<=k)
{
int aux;
j=i+1;
while(j<=k)
{
aux=k;
if(v[i].lin==v[j].lin && abs(v[i].lin-v[j].lin)!=1)
{
int j1=v[i].col,j2=v[j].col;
if(v[j].col<v[i].col)
swap(j1,j2);
fout<<"se adauga pe linie de la coloana "<<j1<<" pana la"<<j2<<endl;
for(int j3=j1+1; j3<j2; j3++)
if(a[v[i].lin][j3]!=1)
{
a[v[i].lin][j3]=1;
k++;
v[k].col=j3;
v[k].lin=v[i].lin;
}
if(k!=aux)
{
i=1;
j=2;
}
}
else if(v[i].col==v[j].col &&abs(v[i].col-v[j].col)!=1)
{
int i1=v[i].lin, i2=v[j].lin;
if(v[j].lin<v[i].lin)
swap(i1,i2);
fout<<"se adauga pe linie de la linie "<<i1<<" pana la"<<i2<<endl;
for(int i3=i1+1; i3<i2; i3++)
if(a[i3][v[i].col]!=1)
{
a[i3][v[i].col]=1;
k++;
v[k].col=v[i].col;
v[k].lin=i3;
}
if(k!=aux)
{
i=1;
j=2;
}
}
else
j++;
if(k!=aux)
{
for(int i=1; i<=10; i++)
{
for(int j=1; j<=10; j++)
fout<<a[i][j]<<" ";
fout<<endl;
}
fout<<endl;
}
}
i++;
}
/*for(int i=1; i<=10; i++)
{
for(int j=1; j<=10; j++)
fout<<a[i][j]<<" ";
fout<<endl;
}*/
return 0;
}