Pagini recente » Cod sursa (job #1908027) | Cod sursa (job #966847) | Cod sursa (job #1208579) | Cod sursa (job #1239501) | Cod sursa (job #1149696)
#define PMAX 10005
#include <cstdio>
#include <ctime>
#include <cstdlib>
using namespace std;
FILE *fin, *fout;
int nr[PMAX], poz[PMAX];
int main()
{
srand(time(NULL));
long long r1, r2, s; int aux, p, p2, i;
fin=fopen("congr.in", "r"); fout=fopen("congr.out", "w");
fscanf (fin, "%d", &p); p2=2*p-1;
for (i=0; i<p2; ++i) {
fscanf (fin, "%d", &nr[i]);
poz[i]=i;
}
while (1) {
r1=( (rand()*rand()%9901)*(rand()*rand()%8801)+rand()%2 ) % p;
r2=( (rand()*rand()%9901)*(rand()*rand()%8801)+rand()%2 ) % p + p;
aux=nr[r1]; nr[r1]=nr[r2]; nr[r2]=aux;
aux=poz[r1]; poz[r1]=poz[r2]; poz[r2]=aux;
s=0;
for (i=0; i<p; ++i) {
s+=nr[i];
if (s>p) s-=p;
}
if (s%p==0) break;
}
for (i=0; i<p; ++i)
fprintf (fout, "%d ", poz[i]+1);
fclose(fin); fclose(fout);
return 0;
}