Pagini recente » Cod sursa (job #2138055) | Cod sursa (job #1224175) | Cod sursa (job #1845770) | Cod sursa (job #12993) | Cod sursa (job #2225817)
#include <fstream>
using namespace std;
ifstream cin ("curcubeu.in");
ofstream cout ("curcubeu.out");
const int NMAX = 1000005;
int n;
int a[1 + NMAX], b[1 + NMAX], c[1 + NMAX], poz[1 + NMAX], v[1 + NMAX];
int main() {
cin >> n >> a[1] >> b[1] >> c[1];
poz[1] = 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;
poz[i] = i;
}
for(int i = n - 1; i >= 1; i--) {
int j = min(a[i], b[i]), lim = max(a[i], b[i]);
while(j <= lim) {
if(v[j])
j = poz[j];
else {
v[j] = c[i];
poz[j] = lim + 1;
j++;
}
}
}
for(int i = 1; i < n; i++)
cout << v[i] << "\n";
return 0;
}