Pagini recente » Istoria paginii propuneri/7-community-ladder | Istoria paginii monthly-2014/runda-8/solutii | Cod sursa (job #830550) | Istoria paginii runda/incalzire2020 | Cod sursa (job #1915060)
#include <cstdio>
#include <algorithm>
using namespace std;
unsigned int N;
unsigned int A[1000001], B[1000001], C[1000001];
unsigned int i, j;
unsigned int sol[1000001];
int main ()
{
/// READ
freopen("curcubeu.in","r",stdin);
freopen("curcubeu.out","w",stdout);
scanf("%d%d%d%d", &N, &A[1], &B[1], &C[1]);
/// SOLVE
for (i=2; i<=N; i++)
{
A[i] = (A[i-1]*i)%N;
B[i] = (B[i-1]*i)%N;
C[i] = (C[i-1]*i)%N;
}
for (i=1; i<=N; i++)
for (j=min(A[i],B[i]); j<=max(A[i],B[i]); j++)
sol[j] = C[i];
/// PRINT TEST
/*
printf("%d\n", N);
for (i=1; i<=N; i++)
printf("%d ", A[i]);
printf("\n");
for (i=1; i<=N; i++)
printf("%d ", B[i]);
printf("\n");
for (i=1; i<=N; i++)
printf("%d ", C[i]);
printf("\n");
for (i=1; i<=N; i++)
printf("%d ", sol[i]);
printf("\n");
*/
/// PRINT
for (i=1; i<=N-1; i++)
printf("%d\n", sol[i]);
return 0;
}