Pagini recente » Cod sursa (job #2798130) | Cod sursa (job #3170917) | Cod sursa (job #1511557) | Cod sursa (job #723013) | Cod sursa (job #2262317)
#include <fstream>
using namespace std;
int a[1000005],b[1000005],c[1000005],v[1000005],v1[1000005];
int main()
{
ifstream cin("curcubeu.in");
ofstream cout("curcubeu.out");
int n,st,dr;
cin>>n>>a[1]>>b[1]>>c[1];
for(int i=2; i<=n-1; 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;
v[i]=i;
}
for(int i=n-1;i>=1;i--)
{
if(a[i]>b[i])
st=b[i],dr=a[i];
else
st=a[i],dr=b[i];
while(st<=dr)
{
if(v1[st])
st=v[st];
else
{
v1[st]=c[i];
v[i]=dr+1;
++st;
}
}
}
for(int i=1;i<=n-1;i++)
cout<<v1[i]<<"\n";
return 0;
}