Pagini recente » Cod sursa (job #83995) | Cod sursa (job #52432) | Cod sursa (job #1343625) | Cod sursa (job #1949499) | Cod sursa (job #1486362)
#include <fstream>
#define Nmax 1000005
using namespace std;
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
int n,sol[Nmax];
int A[Nmax],B[Nmax],C[Nmax],N[Nmax];
int main()
{
int i,a,b,c,j;
fin>>n>>a>>b>>c;
if(a>b) swap(a,b);
A[1] = a; B[1] = b; C[1] = c;
for(i=2;i<=n;i++)
{
a = (1LL*a*i)%n;
b = (1LL*b*i)%n;
c = (1LL*c*i)%n;
if(a>b) swap(a,b);
A[i] = a; B[i] = b; C[i] = c;
}
for(i=n-1;i>=1;i--)
{
for(j=A[i];j<=B[i];j++)
{
while(N[j]!=0)
j=N[j];
if(j<=B[i])
{
N[j]=B[i]+1;
sol[j]=C[i];
}
else
break;
}
}
for(i=1;i<n;i++) fout<<sol[i]<<"\n";
fout.close();
return 0;
}