Pagini recente » Cod sursa (job #823444) | Cod sursa (job #2155212) | Cod sursa (job #2596517) | Cod sursa (job #497047) | Cod sursa (job #2429461)
#include <bits/stdc++.h>
using namespace std;
ifstream f("curcubeu.in");
ofstream g("curcubeu.out");
const int NMAX = 1000005;
int a[NMAX] , b[NMAX] , c[NMAX],n, p, u,v[NMAX],po[NMAX];
int main(){
int i,j;
f >> n >> a[1] >> b[1] >> c[1];
for(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;
}
for(i = 1 ; i <= n ; i++)
po[i] = i;
for(i = n - 1 ; i >= 1 ; i--){
p = min(a[i],b[i]);
u = max(a[i],b[i]);
for(j = p ; j <= u ; j++)
if(v[j] != 0){
j = po[j] - 1;
}else{
v[j] = c[i];
po[j] = u + 1;
}
}
for(i = 1 ; i < n ; i++)
g << v[i] << "\n";
return 0;
}