Pagini recente » Cod sursa (job #2576524) | Cod sursa (job #2256991) | Cod sursa (job #158535) | Cod sursa (job #2222993) | Cod sursa (job #2262330)
#include <cstdio>
#include <algorithm>
using namespace std;
const int NMAX = 1000005;
int a[NMAX],b[NMAX],c[NMAX],imobiliare[NMAX],nexxt[NMAX];
int main()
{
freopen("curcubeu.in","r",stdin);
freopen("curcubeu.out","w",stdout);
int x,y,z,n;
scanf("%d%d%d%d",&n,&a[1],&b[1],&c[1]);
for(int i = 2 ; i < n ; i++)
{a[i] = 1LL*(a[i-1]*i)%n;b[i] = 1LL*(b[i-1]*i)%n;c[i] = 1LL*(c[i-1]*i)%n;}
for(int i = n-1 ; i > 0; i--)
{
int st,dr;st = min(a[i],b[i]);dr = max(a[i],b[i]);
for(int j = st ; j <= dr ;)
{
if(imobiliare[j] == 0)
{nexxt[j] = dr+1;imobiliare[j] = c[i];j++;}
else j = nexxt[j];
}
}
for(int i = 1 ; i < n ; i++)
printf("%d\n",imobiliare[i]);
return 0;
}