Pagini recente » Cod sursa (job #3125273) | Cod sursa (job #2345509) | Cod sursa (job #3214230) | Cod sursa (job #300152) | Cod sursa (job #3165088)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("curcubeu.in");
ofstream fout("curcubeu.out");
int A, B, C, N;
struct date{
int v, p;
};
vector<date>h;
int main(){
fin>>N;
fin>>A>>B>>C;
h.assign(N, {0, 0});
h[min(A, B)].v=C;
h[min(A, B)].p=1;
h[max(A, B)].v=C;
h[max(A, B)].p=1;
for(int i=2;i<=N-1;i++){
A=(A*i)%N;
B=(B*i)%N;
C=(C*i)%N;
//cout<<A<<" "<<B<<" "<<C<<"\n";
h[min(A, B)].v=C;
h[min(A, B)].p=i;
h[max(A, B)].v=C;
h[max(A, B)].p=i;
}
date val={0, 0};
for(int i=1;i<N;i++){
if(h[i].v==0)
h[i].v=val.v;
else if(h[i].v==val.v)
val.v=0;
else{
if(h[i].p>val.p)
val.v=h[i].v;
else
h[i].v=val.v;
}
fout<<h[i].v<<"\n";
}
return 0;
}