Pagini recente » Cod sursa (job #1926818) | Cod sursa (job #1805002) | Cod sursa (job #577638) | Cod sursa (job #1929547) | Cod sursa (job #2567769)
#include <bits/stdc++.h>
#define Nmax 1000001
using namespace std;
ifstream fin ("curcubeu.in");
ofstream fout ("curcubeu.out");
int a[ Nmax ], b[ Nmax ], c[ Nmax ], n, A, B, C, nex[ Nmax ],co[Nmax];
void precalc ( )
{
int i ;
for( i = 1 ; i <= n - 1 ; i ++ )
{
a[ i ] = A ;
b[ i ] = B ;
c[ i ] = C ;
A = ( A * ( i + 1 ) ) % n ;
B = ( B * ( i + 1 ) ) % n ;
C = ( C * ( i + 1 ) ) % n ;
}
}
int main()
{
fin>> n >> A >> B >> C ;
precalc();
int i, j ;
for ( i = n - 1 ; i >= 1 ; i -- )
{
nex[ i ] = max( a[ i ], b[ i ] ) ;
for( j = min ( b[i], a[ i ] ) ; j<= max (b[i], a[ i ] ) ; j ++ )
{
if( co [ j ] == 0 )
{
co[ j ] = i ;
}
else
j = nex [ co [ j ] ] ;
}
}
for( i = 1 ; i <= n - 1 ; i ++)
fout<<c[ co [ i ] ]<<" ";
return 0;
}