Pagini recente » Cod sursa (job #2877734) | Cod sursa (job #2984272) | Cod sursa (job #1122573) | Cod sursa (job #2927919) | Cod sursa (job #197098)
Cod sursa(job #197098)
#include <cstdio>
#include <cstring>
const int NMAX=128*256;
int n,nr[NMAX],i,j,k,m,a[257][257];
bool u[NMAX];
int main(){
freopen("lacate.in","r",stdin);
freopen("lacate.out","w",stdout);
scanf("%d",&n);
m=(n*(n-1))/2;
printf("%d %d\n",m,n-1);
for (i=1;i<n;++i) {a[1][i]=i;
nr[i]=1;
u[i]=true;}
for (i=2;i<=n;++i){
u[a[i-1][i-1]]=false;
for (j=1,k=0;j<=m && k<n-1;++j)
if (!u[j] && nr[j]<2)
if (j>=a[i-1][k+1]){
a[i][++k]=j;
u[j]=true;
nr[j]++;}
memset(u,false,sizeof(u));
for (j=1;j<n;++j) u[a[i][j]]=true;
}
for (i=1;i<=n;++i){
for (j=1;j<n;++j)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}