Cod sursa(job #531785)

Utilizator feelshiftFeelshift feelshift Data 10 februarie 2011 12:27:56
Problema Curcubeu Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
// http://infoarena.ro/problema/curcubeu
#include <fstream>
using namespace std;

#define maxSize 1000001

ifstream in("curcubeu.in");
ofstream out("curcubeu.out");

struct stuff {
    int start,stop,color;
};

stuff previous;

int house[maxSize];

int main() {
    int houses,start,stop,color;

    in >> houses >> start >> stop >> color;
    previous.start = start;
    previous.stop = stop;
    previous.color = color;

    for(int i=min(start,stop);i<=max(start,stop);i++) {
        house[i] = color;
    }

    for(int i=2;i<=houses-1;i++) {
        start = (previous.start * i) % houses;
        stop = (previous.stop * i) % houses;
        color = (previous.color * i) % houses;

        for(int k=min(start,stop);k<=max(start,stop);k++)
            house[k] = color;

        previous.start = start;
        previous.stop = stop;
        previous.color = color;
    }

    for(int i=1;i<=houses-1;i++)
        out << house[i] << "\n";

    return (0);
}