Cod sursa(job #763914)

Utilizator ctlin04UAIC.VlasCatalin ctlin04 Data 3 iulie 2012 15:17:40
Problema Curcubeu Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
#include<cstdio>
using namespace std;
FILE *g;
int a[1000001], b[1000001], c[1000001];
int n,i,j,aux,e[1000001],d[1000001];
int main(void){
    ifstream fin("curcubeu.in");
    g=fopen("curcubeu.out","w");
     fin>>n>>a[1]>>b[1]>>c[1]; 
      for (i=2; i<n; ++i){
          a[i]=((long long)a[i-1]*i)%n;
          b[i]=((long long)b[i-1]*i)%n;
          c[i]=((long long)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){
       for  (j=a[i]; j<=b[i];)
            if (e[j]==0) {e[j]=c[i]; d[j]=b[i]+1; ++j; }
            else j=d[j];
            }
      for (i=1; i<n; ++i) fprintf(g,"%d\n",e[i]);
    return(0);
}