Pagini recente » Cod sursa (job #689535) | Cod sursa (job #519006) | Cod sursa (job #1826230) | Cod sursa (job #1270913) | Cod sursa (job #2404615)
#include <fstream>
using namespace std;
ifstream f("lacate.in");
ofstream g("lacate.out");
int sol[300][300],fr[70005],n,nrl,i,j,poz;
int main()
{
f>>n;
g<<(n*(n-1))/2<<" "<<n-1<<'\n';
sol[1][1]=1;
nrl=(n*(n-1))/2;
for (i=1;i<=n-1;i++)
{
if (i==1)
{
for (j=2;j<=n-1;j++)
{
sol[i][j]=(sol[i][j-1]+1)%nrl;
if (sol[i][j]==0)
{
sol[i][j]=nrl;
}
}
}
else
{
sol[i][1]=sol[i-1][n-1]+1;
sol[i][1]%=nrl;
if (sol[i][1]==0)
{
sol[i][1]=nrl;
}
for (j=2;j<=n-1;j++)
{
sol[i][j]=(sol[i][j-1]+1)%nrl;
if (sol[i][j]==0)
{
sol[i][j]=nrl;
}
}
}
}
for (i=1;i<=n-1;i++)
{
for (j=1;j<=n-1;j++)
{
fr[sol[i][j]]++;
}
}
poz=1;
for (j=1;j<=nrl;j++)
{
if (fr[j]==1)
{
sol[n][poz]=j;
poz++;
}
}
for (i=1;i<=n;i++)
{
for (j=1;j<=n-1;j++)
{
g<<sol[i][j]<<" ";
}
g<<'\n';
}
return 0;
}