Pagini recente » Cod sursa (job #2340950) | Cod sursa (job #282887) | Cod sursa (job #279912) | Cod sursa (job #430829) | Cod sursa (job #1621046)
#include<fstream>
using namespace std;
ifstream fin( "curcubeu.in" ); ofstream fout( "curcubeu.out" );
const int nmax = 1e6;
int lista[ nmax + 1 ];
int ans[ nmax + 1 ];
int a[ nmax + 1 ], b[ nmax + 1 ], c[ nmax + 1 ];
void colorare( int pos, int ind ) {
if ( pos > b[ ind ] ) {
return ;
}
ans[ pos ] = c[ ind ];
colorare( lista[ pos ], ind );
lista[ pos ] = lista[ b[ ind ] ];
}
int main() {
int n;
fin >> n >> a[ 1 ] >> b[ 1 ] >> c[ 1 ];
for( int i = 2; i <= n - 1; ++ i ) {
a[ i ] = ( a[ i - 1 ] * i ) % n;
b[ i ] = ( b[ i - 1 ] * i ) % n;
c[ i ] = ( c[ i - 1 ] * i ) % n;
}
for( int i = 0; i < n; ++ i ) {
lista[ i ] = i + 1;
}
for( int i = n - 1; i > 0; -- i ) {
colorare( lista[ a[ i ] - 1 ], i );
}
for( int i = 1; i < n; ++ i ) {
fout << ans[ i ] << "\n";
}
fin.close();
fout.close();
return 0;
}