Pagini recente » Cod sursa (job #1645007) | Cod sursa (job #1251421) | Cod sursa (job #175933) | Cod sursa (job #1590915) | Cod sursa (job #2648507)
#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 1000000 + 7;
int n;
int a;
int b;
int c;
int l[N];
int r[N];
int x[N];
int last[N];
int col[N];
int main()
{
freopen ("curcubeu.in", "r", stdin);
freopen ("curcubeu.out", "w", stdout);
scanf("%d %d %d %d", &n, &a, &b, &c);
l[1] = min(a, b);
r[1] = max(a, b);
x[1] = c;
last[1] = 1;
for (int i = 2; i < n; i++)
{
a = 1LL * a * i % n;
b = 1LL * b * i % n;
c = 1LL * c * i % n;
l[i] = min(a, b);
r[i] = max(a, b);
x[i] = c;
last[i] = i;
}
for (int i = n - 1; i >= 1; i--)
{
for (int j = l[i]; j <= r[i]; j++)
{
if (col[j])
{
j = last[j];
}
else
{
col[j] = x[i];
last[j] = r[i];
}
}
}
for (int i = 1; i < n; i++)
{
printf("%d\n", col[i]);
}
}