Pagini recente » Cod sursa (job #2608146) | Cod sursa (job #204398) | Cod sursa (job #2156202) | Cod sursa (job #259055) | Cod sursa (job #2965181)
#include <iostream>
#include <fstream>
using namespace std;
const int NMAX = 1e6 + 1;
int n, A[NMAX], B[NMAX], C[NMAX], urm[NMAX], ans[NMAX];
int main()
{
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
fin >> n >> A[1] >> B[1] >> C[1];
for (int i = 2; i <= n - 1; i++)
{
A[i] = (i * A[i - 1]) % n;
B[i] = (i * B[i - 1]) % n;
C[i] = (i * C[i - 1]) % n;
}
for (int i = n - 1; i >= 1; i--)
{
int st = min(A[i], B[i]), dr = max(A[i], B[i]);
for (int j = st; j <= dr; j++)
{
if (urm[j] != 0)
{
j = urm[j];
}
else
{
urm[j] = dr;
ans[j] = C[i];
}
}
}
for (int i = 1; i <= n - 1; i++)
{
fout << ans[i] << '\n';
}
}