zoukankan      html  css  js  c++  java
  • 洛谷 P1350 车的放置

                  洛谷 P1350 车的放置    

    题目描述

    有下面这样的一个网格棋盘,a,b,c,d表示了对应边长度,也就是对应格子数。

    当a=b=c=d=2时,对应下面这样一个棋盘

    要在这个棋盘上放K个相互不攻击的车,也就是这K个车没有两个车在同一行,也没有两个车在同一列,问有多少种方案。同样只需要输出答案mod 100003后的结果。

    输入输出格式

    输入格式:

    输入文件place.in的第1行为有5个非负整数a, b, c, d和k。

    输出格式:

    输出文件place.out包括1个正整数,为答案mod 100003后的结果。

    输入输出样例

    输入样例#1: 
    2 2 2 2 2
    输出样例#1: 
    38
    

    说明

    【数据规模与约定】

    对于部分数据,有b = 0;

    对于部分数据,有a,b,c,d≤4。

    对于100%的数据,a,b,c,d,k≤1000,且保证了至少有一种可行方案。

    题解:

    f[j][i]=(f[j-1][i]+f[j-1][i-1]*(v[j]-i+1))%MOD;

    因为题目里提到最终数据要模去100003

    所以定义MOD为100003了。

    以下代码

     1 #include<cstdio>
     2 const int N=1005;
     3 const int MOD=100003;
     4 int f[N][N],v[N];
     5 int x,y,z,k,m,ans;
     6 inline int read() {
     7     char c=getchar();
     8     int f=1,x=0;
     9     while(c<'0'||c>'9')    {
    10         if(c=='-')    f=-1;
    11         c=getchar();
    12     }
    13     while(c>='0'&&c<='9')
    14         x=x*10+c-48,c=getchar();
    15     return x*f;
    16 }
    17 void print (int x) {
    18     if(x<0) {
    19         putchar('-');
    20         x=-x;
    21     }
    22     if(x>9) {
    23         print(x/10);
    24     }
    25     putchar(x%10+'0');
    26 }
    27 int main() {
    28 //    x=y=z=k=m=read();
    29     scanf("%d%d%d%d%d",&x,&y,&z,&k,&m);
    30     for(int i=1; i<=z; i++) v[i]=k,f[i][0]=1;
    31     for(int i=1; i<=x; i++) v[z+i]=k+y,f[z+i][0]=1;
    32     f[0][0]=1;
    33     for(int j=1; j<=x+z; j++)
    34         for(int i=1; i<=m; i++)
    35             f[j][i]=(f[j-1][i]+f[j-1][i-1]*(v[j]-i+1))%MOD;
    36     ans=f[x+z][m];
    37 //    print(ans);
    38     printf("%d",ans);
    39     return 0;
    40 }
    AC

    不知道为什么,加了读入优化和输出优化,虽然过样例是没问题的,但是在提交的时候不是re就是wa。

    然后我把读入输出优化去掉,还故意把数组弄小了,都比之前数组开大了得分高!

    所以肯定是优化的原因啊!

    一世安宁

  • 相关阅读:
    正则表达式预:
    cookie 二:
    Javascript之运动框架2
    cookie预:
    Javascript之链式运动框架1
    基于Azure的软件部署和开发系列沙龙
    在Docker中安装.NET Core(使用命令行工具)
    Xshell 无法连接虚拟机中的ubuntu的问题
    springboot09-redis
    springboot08-jpa-mysql
  • 原文地址:https://www.cnblogs.com/GTBA/p/9083789.html
Copyright © 2011-2022 走看看