2 条题解

  • 1
    @ 2022-8-3 15:02:22
    #include <iostream>
    
    using namespace std;
    const int maxn = 10100,mo=100003;
    int f[maxn][maxn],v[maxn];
    int a,b,c,d,m,ans;
    int main(){
    	cin >> a >> b >> c >> d >> m;
    	for(int i = 1;i <= c;i++){
    		v[i] = d;
    		f[i][0] = 1;
    	}
    	for(int i = 1;i <= a;i++){
    		v[c + i] = d + b;
    		f[c + i][0] = 1;
    	}
    	f[0][0]=1;
    	for(int j = 1;j <= a + c;j++)
    		for(int i = 1;i <= m;i++)
    			f[j][i] = (f[j - 1][i] + f[j - 1][i - 1] * (v[j] - i + 1)) % mo;
    	cout << f[a + c][m] << endl;
    	return 0;
    }
    
    • 0
      @ 2022-7-14 19:57:45
      #include<bits/stdc++.h>
      using namespace std;
      const int N=2e3+5;
      int f[N][N],v[N];
      int a,b,c,d,m,ans,mo=100003;
      int main()
      {
          scanf("%d%d%d%d%d",&a,&b,&c,&d,&m);
          for(int i=1;i<=c;i++)v[i]=d,f[i][0]=1;
          for(int i=1;i<=a;i++)v[c+i]=d+b,f[c+i][0]=1;
          f[0][0]=1;
          for(int j=1;j<=a+c;j++)
              for(int i=1;i<=m;i++)
                  f[j][i]=(f[j-1][i]+f[j-1][i-1]*(v[j]-i+1))%mo;
          printf("%d",f[a+c][m]);
      }
      
      • 1

      信息

      ID
      351
      时间
      1000ms
      内存
      125MiB
      难度
      5
      标签
      递交数
      5
      已通过
      5
      上传者