Cod sursa(job #28958)

Utilizator y2kClaudiu Guiman y2k Data 8 martie 2007 14:42:49
Problema Kperm Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<stdio.h>
#define IN_FILE  "kperm.in"
#define OUT_FILE "kperm.out"
#define mod 666013;
long long n,k,q,r,c;
FILE *f1,*f2;
void lucru()
{
 long long y,i,z;
 r=n%k;
 c=n/k;
 y=1;        z=1;
 for(i=1; i<=r; ++i)
  y=(y*i)%mod;
 for(i=1; i<=k-r; ++i)
  z=(z*i)%mod;
 q=(z*y)%mod;
 y=1;
 for(i=1; i<=c+1; i++)
  y=(y*i)%mod;
 z=1;
 for(i=1; i<=r; i++)
  z=(z*y)%mod;
 q=(q*z)%mod;
 y=1;
 for(i=1; i<=c; i++)
  y=(y*i)%mod;
 z=1;
 for(i=1; i<=k-r; i++)
  z=(z*y)%mod;
 q=(q*z)%mod;
}
int main()
{
 f1=fopen(IN_FILE,"r");
 f2=fopen(OUT_FILE,"w");
  fscanf(f1,"%d",&n);
  fscanf(f1,"%d",&k);
  if(k%2==0)
   q=0;
   else
   lucru();
 fprintf(f2,"%d",q);
 fclose(f1);
 fclose(f2);
 return 0;
}