Cod sursa(job #2262442)

Utilizator theo2003Theodor Negrescu theo2003 Data 17 octombrie 2018 12:18:41
Problema Curcubeu Scor 0
Compilator cpp-64 Status done
Runda concurs_micut Marime 0.68 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream in("curcubeu.in");
ofstream out("curcubeu.out");
int main() {
	int n, a, b, c;
	in>>n>>a>>b>>c;
	vector<int> l(n + 1, -2);
    vector<bool> lb(n+1, false);
	for(int i = 1; i<n; i++) {
		l[min(a, b)] = c;
		lb[max(a, b) + 1] = true;
		a = a*(i+1)%n;
		b = b*(i+1)%n;
		c = c*(i+1)%n;
	}

	vector<int> color;
	color.push_back(0);

	for(int x = 1; x<n; x++) {
        //out<<"!!!"<<l[x]<<lb[x]<<"!!!\n";
		if(lb[x])
            color.pop_back();
		if(l[x] != -2){
            color.push_back(l[x]);
		}
        if(color.size()==0)
            color.push_back(0);
		out<<color.back()<<'\n';
	}
}