Pagini recente » Cod sursa (job #179543) | Cod sursa (job #848883) | Istoria paginii utilizator/fapfap | Cod sursa (job #2232098) | Cod sursa (job #2007983)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("curcubeu.in");
ofstream out("curcubeu.out");
const int N = 1000003;
int a[N], b[N], c[N], urm[N], col[N];
int main()
{
int n, i, left, right;
in >> n >> a[1] >> b[1] >> c[1];
for(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(i = n-1; i >= 1; i--)
{
left = min(a[i], b[i]);
right = max(a[i], b[i]);
while(left <= right)
{
if(col[left] == 0)
{
col[left] = c[i];
urm[left] = right+1;
left++;
}
else
left = urm[left];
}
}
for(i = 1; i < n; i++)
out<< col[i] <<"\n";
return 0;
}