Pagini recente » Istoria paginii utilizator/westlifegirl13 | Cod sursa (job #1867346) | Cod sursa (job #433938) | Cod sursa (job #483990) | Cod sursa (job #658637)
Cod sursa(job #658637)
#include<stdio.h>
#include<fstream>
using namespace std;
ifstream f("curcubeu.in");
FILE *g = fopen("curcubeu.out","w");
#define MaxN 1000100
int N,A,B,C,auxA,auxB,k,D[MaxN],cul[MaxN];
int min(void)
{
return A < B ? A : B;
}
int max(void)
{
return A > B ? A : B;
}
int main()
{
f >> N >> A >> B >> C;
for(int i=1;i<=N;i++)
D[i] = i+1;
for(int i=1;i<N;i++)
{
A = (1LL*A*i)%N;
B = (1LL*B*i)%N;
C = (1LL*C*i)%N;
auxB = max();
for(auxA = min();auxA<=auxB;)
!cul[auxA] ? (cul[auxA] = C, k = D[auxA], D[auxA] = auxB+1, auxA = k) : auxA = D[auxA];
}
for(int i=1;i<N;i++)
fprintf(g,"%d\n",cul[i]);
return 0;
}