Pagini recente » Cod sursa (job #1774690) | Cod sursa (job #107263) | Cod sursa (job #1051246) | Cod sursa (job #1979842) | Cod sursa (job #531790)
Cod sursa(job #531790)
// http://infoarena.ro/problema/curcubeu
#include <fstream>
using namespace std;
#define maxSize 1000001
ifstream in("curcubeu.in");
ofstream out("curcubeu.out");
struct stuff {
long long start,stop,color;
};
stuff previous;
long long house[maxSize];
int main() {
long long houses,start,stop,color;
long long maxim,minim;
in >> houses >> start >> stop >> color;
previous.start = start;
previous.stop = stop;
previous.color = color;
minim = min(start,stop);
maxim = max(start,stop);
for(long long i=minim;i<=maxim;i++) {
house[i] = color;
}
for(long long i=2;i<=houses-1;i++) {
start = (previous.start * i) % houses;
stop = (previous.stop * i) % houses;
color = (previous.color * i) % houses;
minim = min(start,stop);
maxim = max(start,stop);
for(long long k=minim;k<=maxim;k++)
house[k] = color;
previous.start = start;
previous.stop = stop;
previous.color = color;
}
for(long long i=1;i<=houses-1;i++)
out << house[i] << "\n";
return (0);
}