zoukankan      html  css  js  c++  java
  • UVa10234 Race

    递推,设有i个人排在第一名,剩下的人排在后面,方案有f[i]种,则f[i]=sum(c[n][i]*f[n-i]) 1<=i<=n

     1 /*by SilverN*/
     2 #include<algorithm>
     3 #include<iostream>
     4 #include<cstring>
     5 #include<cstdio>
     6 #include<cmath>
     7 using namespace std;
     8 const int mod=10056;
     9 const int mxn=1020;
    10 int read(){
    11     int x=0,f=1;char ch=getchar();
    12     while(ch<'0' || ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    13     while(ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();}
    14     return x*f;
    15 }
    16 int c[mxn][mxn];
    17 int f[mxn];
    18 int n,T;
    19 void clc(){
    20     for(int i=0;i<mxn;i++)c[i][0]=1;
    21     for(int i=1;i<mxn;i++)
    22      for(int j=1;j<=i;j++){
    23          c[i][j]=(c[i-1][j-1]+c[i-1][j])%mod;
    24      }
    25     f[0]=1;
    26     for(int i=1;i<mxn;i++)
    27      for(int j=1;j<=i;j++) 
    28         f[i]=(f[i]+c[i][j]*f[i-j])%mod;
    29     return;
    30 }
    31 int main(){
    32     clc();
    33     T=read();
    34     int cas=0;
    35     while(T--){
    36         cas++;
    37         n=read();
    38         printf("Case %d: %d
    ",cas,f[n]);
    39     }
    40     return 0;
    41 }
  • 相关阅读:
    将本地文件夹添加到Git仓库
    flex调用Webservice(一)
    经典的sql
    打印相关
    reporting services订阅
    关于TabIndex
    试题(一)
    试试用手机
    2010.07.13_19:30
    基础知识
  • 原文地址:https://www.cnblogs.com/SilverNebula/p/5896300.html
Copyright © 2011-2022 走看看