Pagini recente » Cod sursa (job #2947984) | Cod sursa (job #930138) | Cod sursa (job #2265830) | Cod sursa (job #2703214) | Cod sursa (job #490622)
Cod sursa(job #490622)
#include <fstream>
using namespace std;
int n, i, inc, sf, j, jjan, jj;
long long a[1000005], b[1000005], c[1000005], col[1000005], sar[1000005];
int main()
{
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
fin>>n>>a[1]>>b[1]>>c[1];
for (i=2; i<n; i++)
{
a[i]=(a[i-1]*i)%n;
b[i]=(b[i-1]*i)%n;
c[i]=(c[i-1]*i)%n;
}
for (i=n-1; i>=1; i--)
{
if (a[i]<b[i])
{
inc=a[i];
sf=b[i];
}
else
{
inc=b[i];
sf=a[i];
}
j=inc;
while (j<=sf)
{
jj=j;
while (col[j]>0)
j=sar[j]+1;
while (col[jj]>0)
{
jjan=jj;
jj=sar[jj]+1;
sar[jjan]=j-1;
}
if (j<=sf)
{
col[j]=c[i];
sar[j]=sf;
}
j=j+1;
}
}
for (i=1; i<n; i++)
fout << col[i] << '\n';
fin.close();
fout.close();
}