Pagini recente » Cod sursa (job #528398) | Cod sursa (job #1380266) | Cod sursa (job #1846600) | Cod sursa (job #951910) | Cod sursa (job #947195)
Cod sursa(job #947195)
#include<fstream>
#include<algorithm>
using namespace std ;
#define maxn 10000001
ifstream fin ("curcubeu.in");
ofstream fout ("curcubeu.out");
int n ;
int a[maxn], b[maxn], c[maxn] ;
int sol[maxn], unde[maxn] ;
int main()
{
fin >> n >> a[1] >> b[1] >> c[1] ;
unde[1] = 1 ;
for(int i = 2; i < n; ++i )
{
a[i] = ( ( long long ) a[ i - 1 ] * i ) % n ;
b[i] = ( ( long long ) b[ i - 1 ] * i ) % n ;
c[i] = ( ( long long ) c[ i - 1 ] * i ) % n ;
unde[i] = i ;
}
for(int i = n - 1; i >= 1; --i )
{
int st = min( a[i], b[i] ) ;
int dr = max( a[i], b[i] ) ;
int ind = st ;
while(ind <= dr )
{
if( unde[ind] == ind )
{
sol[ind] = c[i] ;
unde[ind] = dr + 1 ;
++ind ;
}
else
{
int aux = unde[ind] ;
unde[ind] = dr + 1 ;
ind = aux ;
}
}
}
for(int i = 1; i < n; ++i )
fout << sol[i] << "\n" ;
return 0 ;
}