Pagini recente » Cod sursa (job #1458326) | Cod sursa (job #1865708) | Cod sursa (job #2919149) | Cod sursa (job #872539) | Cod sursa (job #919206)
Cod sursa(job #919206)
#include<cstdio>
#define NMax 1000005
using namespace std;
struct trpl { int a,b,c; };
trpl v[NMax];
int nxt[NMax],cl[NMax];
void swap (int &a, int &b)
{
int aux=a;
a=b, b=aux;
}
int main ()
{
int i,j,n;
freopen("curcubeu.in","r",stdin);
freopen("curcubeu.out","w",stdout);
scanf("%d%d%d%d",&n,&v[1].a,&v[1].b,&v[1].c);
if (v[1].a>v[1].b)
swap(v[1].a,v[1].b);
for (i=2; i<n; i++)
{
v[i].a=((long long)v[i-1].a*i)%n;
v[i].b=((long long)v[i-1].b*i)%n;
v[i].c=((long long)v[i-1].c*i)%n;
if (v[i].a>v[i].b)
swap(v[i].a,v[i].b);
}
for (i=n-1; i>=1; i--)
for (j=v[i].a; j<=v[i].b; j++)
if (!nxt[j])
cl[j]=v[i].c, nxt[j]=v[i].b;
else j=nxt[j];
for (i=1; i<n; i++)
printf("%d\n",cl[i]);
return 0;
}