Cod sursa(job #763909)

Utilizator ctlin04UAIC.VlasCatalin ctlin04 Data 3 iulie 2012 15:08:13
Problema Curcubeu Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<fstream>
using namespace std;
long long a[1000001], b[1000001], c[1000001];
int n,i,j,aux,e[1000001],d[1000001];
int main(void){
    ifstream fin("curcubeu.in");
    ofstream fout("curcubeu.out");
     fin>>n>>a[1]>>b[1]>>c[1]; d[1]=1;
      for (i=2; i<n; ++i){
          a[i]=(a[i-1]*i)%n;
          b[i]=(b[i-1]*i)%n;
          c[i]=(c[i-1]*i)%n;
          d[i]=i;
          if (a[i]>b[i]){aux=a[i]; a[i]=b[i]; b[i]=aux;}
          }
      for (i=n-1; i>0; --i){
          j=a[i];
           while (j<=b[i])
            if (e[j]==0) {e[j]=c[i]; d[e[j]]=j; ++j; }
            else j=d[e[j]]+1;
            }
      for (i=1; i<n; ++i) fout<<e[i]<<"\n";
    return(0);
}