Pagini recente » Cod sursa (job #2101175) | Cod sursa (job #1661436) | Cod sursa (job #2185899) | Cod sursa (job #1519653) | Cod sursa (job #308836)
Cod sursa(job #308836)
#include <stdio.h>
#define DIM 500005
int i,n,k,t,dif;
int v[DIM],w[DIM];
FILE *f = fopen("multimi2.in","r");
FILE *g = fopen("multimi2.out","w");
void rest0() {
for (i=1; i<=n; i++)
switch (i%4) {
case 1: v[++k] = i; break;
case 2: w[++t] = i; break;
case 3: w[++t] = i; break;
case 0: v[++k] = i; break;
}
dif = 0;
}
void rest1() {
v[++k] = 1;
for (i=2; i<=n; i++)
switch (i%4) {
case 1: v[++k] = i; break;
case 2: w[++t] = i; break;
case 3: w[++t] = i; break;
case 0: v[++k] = i; break;
}
dif = 1;
}
void rest2() {
v[++k] = 1;
w[++t] = 2;
for (i=3; i<=n; i++)
switch (i%4) {
case 1: v[++k] = i; break;
case 2: w[++t] = i; break;
case 3: w[++t] = i; break;
case 0: v[++k] = i; break;
}
dif = 1;
}
void rest3() {
v[++k] = 1;
v[++k] = 2;
w[++t] = 3;
for (i=4; i<=n; i++)
switch (i%4) {
case 1: v[++k] = i; break;
case 2: w[++t] = i; break;
case 3: w[++t] = i; break;
case 0: v[++k] = i; break;
}
dif = 0;
}
void afisare() {
fprintf(g,"%d\n%d\n",dif,k);
for (i=1; i<=k; i++)
fprintf(g,"%d ",v[i]);
fprintf(g,"\n%d\n",t);
for (i=1; i<=t; i++)
fprintf(g,"%d ",w[i]);
}
int main() {
fscanf(f,"%d",&n);
switch (n%4) {
case 0: rest0(); break;
case 1: rest1(); break;
case 2: rest2(); break;
case 3: rest3(); break;
}
afisare();
fclose(f);
fclose(g);
return 0;
}