вторник, 3 марта 2009 г.

"Жинхэнэ азтай билет" бодлогын бодолт

footman



#include <stdio.h>
#define max 1000000000
long n,s,i,j,k,l;
long long a[51][501][8]={0},x[8],y[16]={0},z;
void add()
{
for (l=1; l<=6; l++)
a[i][j][l]+=a[i-1][j-k][l];
for (l=1; l<=6; l++)
{a[i][j][l+1]+=a[i][j][l]/max; a[i][j][l]%=max;}
}
int main()
{
scanf("%ld %ld",&n,&s);
if (s%2) {printf("0\n"); return 0;}
s/=2;
a[0][0][1]=1;
for (i=1; i<=n; i++)
{
a[i][0][1]=1;
for (j=1; j<=s; j++)
for (k=0; k<=9; k++)
if (j>=k) add();
}

for (l=1; l<=6; l++)
x[l]=a[n][s][l]-a[n-1][s][l];
for (l=1; l<=6; l++)
if (x[l]<0) {x[l]+=max; x[l+1]--;}
for (i=1; i<=6; i++)
for (j=1; j<=6; j++)
y[i+j-1]+=a[n][s][i]*x[j];
for (l=1; l<=14; l++)
{y[l+1]+=y[l]/max; y[l]%=max;}
for(l=15; y[l]==0; l--);
printf("%lld",y[l--]);
for (;l>0; l--)
{ for (z=max/10; z>y[l]&&z>0; z/=10)
printf("0");
printf("%lld",y[l]);
}
return 0;
}

Комментариев нет:

Сайтад оролцогч сургуулиуд (45)

  • 11-р сургууль
  • 24-р сургууль
  • 27-р сургууль
  • 6-р сургууль
  • 84-р сургууль
  • Aptech сургалтын төв
  • DaTS
  • Dhaka City College
  • Dickinson State University
  • DMTS
  • Huree-ICT
  • Huwsgul MGS
  • Japan TUT
  • MCS
  • MUENCHEN UNI
  • MUST-EHIS
  • NUM-SMCS
  • Osaka University
  • Progress
  • shine-ireedui
  • SHUTIS, HMTS
  • STS
  • Ulaangom College
  • USI MC
  • Баянхонгор аймгийн Номгон сургууль
  • Бээжингийн их сургууль
  • Дармштадтын технологийн их сургууль
  • Дархан хотын RGB 26-р дунд сургууль
  • Дорнод аймгийн 1-р сургууль
  • Калифорнийн их сургууль
  • Массачусетсийн технологийн их сургууль
  • МУБИС
  • МУҮИС
  • МУҮИС МКС
  • МУҮИС МТС
  • Ражив Гандийн нэрэмжит Үйлдвэр урлалын сургууль
  • Сант
  • Токиогийн их сургууль
  • Улаанбаатарын Монгол-Туркийн сургууль
  • Хөвсгөл аймгийн Ирээдүй сургууль
  • Шинэ Монгол
  • Шинэ үе
  • ШУТИС КтМС
  • Эм Ай Ю олон улсын дээд сургууль
  • Эрдэнэтийн Монгол-Туркийн сургууль