Pagini recente » Cod sursa (job #256013) | Cod sursa (job #2780585) | Cod sursa (job #2242996) | Cod sursa (job #2579394) | Cod sursa (job #1743304)
#include <bits/stdc++.h>
using namespace std;
ifstream f("curcubeu.in");
ofstream g("curcubeu.out");
const int NMAX = 1000003;
int a[NMAX], b[NMAX], c[NMAX], Next[NMAX], Sol[NMAX];
int main()
{
int n;
f>> n;
f>> a[1] >> b[1] >> c[1];
for(int i = 2; i <= n; i++) {
a[i] = (1LL * a[i-1] * i)%n;
b[i] = (1LL * b[i-1] * i)%n;
c[i] = (1LL * c[i-1] * i)%n;
}
for(int i = 1; i <= n; i++) {
if(a[i] > b[i])
swap(a[i],b[i]);
for(int j = a[i]; j <= b[i]; j++) {
while(Next[j]) {
j = Next[j];
}
if(j <= b[i]) {
Next[j] = a[i] - 1;
Sol[j] = c[i];
}
else
break;
}
}
for(int i = 1; i < n; i++) {
g<< Sol[i] << "\n";
}
return 0;
}