Cod sursa(job #86479)

Utilizator bogdan25bogdan25 bogdan25 Data 24 septembrie 2007 20:44:41
Problema Curcubeu Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <cstdio>
#include <cstdlib>

#define max 1000000

#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
#define MAX(X,Y) ((X) > (Y) ? (X) : (Y))



int N,  C[max];
long long int a1,b1,c1, a2,b2,c2;

int main()
{
    freopen("curcubeu.in", "r", stdin);
    freopen("curcubeu.out", "w", stdout);

    scanf("%d%d%d%d\n", &N, &a1, &b1, &c1);

    for (int i = MIN(a1,b1); i<= MAX(a1,b1); i++)
        C[i] = c1;

    for (int i = 2; i<=N-1; i++)
    {
            a2 = (a1 * i) % N;
            b2 = (b1 * i) % N;
            c2 = (c1 * i) % N;

            for (int i = MIN(a2,b2); i<= MAX(a2,b2); i++)
                C[i] = c2;
            a1 = a2; b1 = b2; c1= c2;
    };

    for (int i = 1; i<N; i++)
        printf("%d\n", C[i]);
    fclose(stdout);

    return 0;
};