• Google Round B APAC Test


    A:题意密码由n不同的字符和m的长度组成,问你有多少种情况

    解题思路:可以得到状态转移方程为  dp[i][j] = dp[i-1][j]*j + dp[i-1][j-1]*(n-j+1);

    解题代码:

     1 // File Name: a.cpp
     2 // Author: darkdream
     3 // Created Time: 2014年09月15日 星期一 14时29分39秒
     4 
     5 #include<vector>
     6 #include<list>
     7 #include<map>
     8 #include<set>
     9 #include<deque>
    10 #include<stack>
    11 #include<bitset>
    12 #include<algorithm>
    13 #include<functional>
    14 #include<numeric>
    15 #include<utility>
    16 #include<sstream>
    17 #include<iostream>
    18 #include<iomanip>
    19 #include<cstdio>
    20 #include<cmath>
    21 #include<cstdlib>
    22 #include<cstring>
    23 #include<ctime>
    24 #define LL long long
    25 
    26 using namespace std;
    27 LL dp[200][200];
    28 #define M 1000000007
    29 int main(){
    30     freopen("out","w",stdout);
    31    int t; 
    32    scanf("%d",&t);
    33    for(int ca = 1; ca <= t; ca ++)
    34    {
    35      int n , m ;
    36      scanf("%d %d",&n,&m);
    37      memset(dp,0,sizeof(dp));
    38      dp[1][1] = n; 
    39      for(int i = 2;i <= m;i ++)
    40      {
    41         for(int j = 1;j <= n;j ++)
    42          dp[i][j] = (dp[i-1][j] *j)%M + dp[i-1][j-1]*(n-j+1)%M ;
    43      }
    44     printf("Case #%d: %lld
    ",ca,dp[m][n]%M); 
    45    }
    46 return 0;
    47 }
    View Code
    没有梦想,何谈远方
  • 相关阅读:
    洛谷 P5595 【XR-4】歌唱比赛
    洛谷 P5594 【XR-4】模拟赛
    洛谷 AT1350 深さ優先探索
    洛谷 P1449 后缀表达式
    VIJOS-P1064 迎春舞会之数字舞蹈
    洛谷 P3998 [SHOI2013]发微博
    CF306C White, Black and White Again
    CF261E Maxim and Calculator
    JLOI 2014 松鼠的新家
    HNOI 2009 有趣的数列
  • 原文地址:https://www.cnblogs.com/zyue/p/3973074.html
Copyright © 2020-2023  润新知