Pagini recente » Cod sursa (job #74317) | Cod sursa (job #374975) | Cod sursa (job #1274513) | Cod sursa (job #1105992) | Cod sursa (job #2106156)
#include <cstdio>
#include <iostream>
#define DIM 1000001
using namespace std;
int a[DIM],b[DIM],c[DIM],v[DIM],w[DIM];
int main()
{
FILE *fin=fopen ("curcubeu.in","r");
FILE *fout=fopen ("curcubeu.out","w");
int n,i,j,p,u;
fscanf (fin,"%d%d%d%d",&n,&a[1],&b[1],&c[1]);
for (i=2;i<n;i++){
a[i]=((long long) a[i-1] * i)%n;
b[i]=((long long) b[i-1] * i)%n;
c[i]=((long long) c[i-1] * i)%n;
}
for (i=1;i<n;i++)
w[i]=i;
for (i=n-1;i>0;i--){
p=min(a[i],b[i]);
u=max(a[i],b[i]);
for (j=p;j<=u;){
if (v[j]!=0)
j=w[j];
else {
v[j]=c[i];
w[j]=u+1;
j++;
}
}
}
for (i=1;i<n;i++)
fprintf (fout,"%d\n",v[i]);
return 0;
}