Pagini recente » Cod sursa (job #3037057) | Cod sursa (job #1430146) | Cod sursa (job #1832754) | Cod sursa (job #3332669) | Cod sursa (job #3357251)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
long long v[1000000], n, a, b, c, f[1000000], aux[1000000], a1, b1, c1, mini, maxi;
int main()
{
fin>>n>>a>>b>>c;
f[1]=1;
for(int i=2; i<n; i++)
{
f[i]=f[i-1]*i;
f[i]%=n;
}
for(int i=0; i<n; i++)
{
aux[i]=i+1;
}
for(int i=n-1; i>=0; i--)
{
a1=f[i]*a;
a1%=n;
b1=f[i]*b;
b1%=n;
c1=f[i]*c;
c1%=n;
mini=min(b1, a1);
maxi=max(b1, a1);
while(mini<=maxi)
{
if(!v[mini])
{
v[mini]=c1;
aux[mini]=aux[maxi];
}
mini=aux[mini];
}
}
for(int i=1; i<n; i++)
{
fout<<v[i]<<"\n";
}
return 0;
}