Cod sursa(job #2316278)

Utilizator shantih1Alex S Hill shantih1 Data 11 ianuarie 2019 15:22:59
Problema Curcubeu Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <iostream>
#include <fstream>
#define nmx 1000005

using namespace std;
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");

int n,i,j,nr,k,a,b,c,x;
int r[nmx],t[nmx],A[nmx],B[nmx],C[nmx];

int main() {
	
	fin>>n>>A[1]>>B[1]>>C[1];
	if(A[1]>B[1])
	{	A[1]^=B[1];	B[1]^=A[1];	A[1]^=B[1];	}
	t[i]=2;
	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;
		if(A[i]>B[i])
		{	A[i]^=B[i];	B[i]^=A[i];	A[i]^=B[i];	}
		t[i]=i+1;
	}
	
	for(i=n-1;i>=1;i--)
		for(j=A[i];j<=B[i]; x=j, j=t[j], t[x]=t[B[i]])
		{
			if(!r[j])	r[j]=C[i];
		}
	
	for(i=1;i<n;i++)
		fout<<r[i]<<"\n";
	/*
	Somnoroase păsărele
	Pe la cuiburi se adună, 
	Se ascund în rămurele -
	Noapte bună! 
	
	Doar izvoarele suspină, 
	Pe când codrul negru tace;
	Dorm şi florile-n grădină -
	Dormi în pace! 
	
	Trece lebăda pe ape
	Între trestii să se culce -
	Fie-ţi îngerii aproape, 
	Somnul dulce! 
	
	Peste-a nopţii feerie
	Se ridică mândra lună, 
	Totu-i vis şi armonie -
	Noapte bună!
	*/
}