Cod sursa(job #86285)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 23 septembrie 2007 22:34:11
Problema Curcubeu Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>

long long v[1500000], n, a, b, c;

long long max(long long a,long long b)
{
  if (a>b) return a;
  return b;
}

long long min(long long a,long long b)
{
  if (a<b) return a;
  return b;
}

int main()
{
  freopen("curcubeu.in","r",stdin);
  freopen("curcubeu.out","w",stdout);
  scanf("%lld%lld%lld%lld",&n,&a,&b,&c);

  long long i, j, x, y;
  x=min(a,b);
  y=max(a,b);

  for (i=x; i<=y; i++) v[i]=c;

  for (i=2; i<n; i++)
  {
    a=(a*i)%n;
    b=(b*i)%n;
    c=(c*i)%n;
    if (a==0 && b==0) break;
    x=min(a,b);
    y=max(a,b);
    for (j=x; j<=y; j++) v[j]=c;
  }

  for (i=1; i<n; i++) printf("%lld\n",v[i]);
  return 0;
}