Pagini recente » Cod sursa (job #3246545) | Cod sursa (job #297531) | Cod sursa (job #1763575) | Cod sursa (job #2756247) | Cod sursa (job #1278666)
/// Craciun Catalin
/// Curcubeu
#include <iostream>
#include <fstream>
#define ll long long
#define NMax 1000005
#define make_muchie muchie
struct muchie {
ll first, last;
ll culoare;
muchie() {
first = last = culoare = 0;
}
muchie(ll a, ll b, ll c) {
first = a;
last = b;
culoare = c;
}
};
using namespace std;
ifstream f("curcubeu.in");
ofstream g("curcubeu.out");
ll n;
muchie M[NMax];
int cul[NMax];
inline int minim(int a, int b) { if (a < b) return a; return b; };
inline int maxim(int a, int b) { if (a > b) return a; return b; };
void read() {
f>>n;
f>>M[1].first>>M[1].last>>M[1].culoare;
for (int j=minim(M[1].first, M[1].last);j<=maxim(M[1].last, M[1].first);j++)
cul[j] = M[1].culoare;
for (int i=2;i<n;i++) {
M[i] = make_muchie(minim((M[i-1].first * i) % n, (M[i-1].last * i) % n), maxim((M[i-1].first * i) % n, (M[i-1].last * i) % n), (M[i-1].culoare * i) % n);
for (int j=M[i].first;j<=M[i].last;j++)
cul[j] = M[i].culoare;
}
for (int i=1;i<n;i++)
g<<cul[i]<<'\n';
}
int main() {
read();
f.close(); g.close();
return 0;
}