Cod sursa(job #85900)

Utilizator DastasIonescu Vlad Dastas Data 23 septembrie 2007 10:27:39
Problema Curcubeu Scor 20
Compilator cpp Status done
Runda Autumn Warmup 2007, Runda 2 Marime 0.74 kb
#include <cstdio>

const int maxn = 1000001;

FILE *in = fopen("curcubeu.in","r"), *out = fopen("curcubeu.out","w");

int n, a, b, c;

inline int min(int x, int y)
{
    return x < y ? x : y;
}

inline int max(int x, int y)
{
    return x > y ? x : y;
}

int culori[maxn];

int main()
{
    fscanf(in, "%d %d %d %d", &n, &a, &b, &c);

    int t1, t2, t3;
    for ( int i = 1; i < n; ++i )
    {
        t1 = (a * i) % n;
        t2 = (b * i) % n;
        t3 = (c * i) % n;

        int k = max(t1, t2);

        for ( int j = min(t1, t2); j <= k; ++j )
            culori[j] = t3;

        a = t1, b = t2, c = t3;
    }

    for ( int i = 1; i < n; ++i )
        fprintf(out, "%d\n", culori[i]);

	return 0;
}