Pagini recente » Cod sursa (job #469095) | Cod sursa (job #1168019) | Cod sursa (job #1054038) | Cod sursa (job #2255436) | Cod sursa (job #1216899)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <assert.h>
#define FISIN "lacate.in"
#define FISOUT "lacate.out"
#define MAXN 256
int lacate[MAXN][MAXN];
int len[MAXN];
int n;
void add(int pers, int lacat) {
lacate[pers][len[pers]++] = lacat;
}
int main() {
FILE *f = fopen(FISIN, "rt");
fscanf(f, "%d", &n);
fclose(f);
f = fopen(FISOUT, "wt");
if (n == 2) {
fprintf(f, "1 1\n1\n1\n");
fclose(f);
return 0;
}
int l = 0;
for (int i = 0; i < n; ++i)
for (int j = i + 1; j < n; ++j) {
++l;
add(i, l);
add(j, l);
}
fprintf(f, "%d %d\n", l, n - 1);
for (int i = 0; i < n; ++i) {
assert(len[i] == n - 1);
fprintf(f, "%d", lacate[i][0]);
for (int j = 1; j < n - 1; ++j)
fprintf(f, " %d", lacate[i][j]);
fprintf(f, "\n");
}
fclose(f);
return 0;
}