洛谷 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后的结果。
输入输出样例
2 2 2 2 2
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了。
以下代码
#include<cstdio>
const int N=;
const int MOD=;
int f[N][N],v[N];
int x,y,z,k,m,ans;
inline int read() {
char c=getchar();
int f=,x=;
while(c<''||c>'') {
if(c=='-') f=-;
c=getchar();
}
while(c>=''&&c<='')
x=x*+c-,c=getchar();
return x*f;
}
void print (int x) {
if(x<) {
putchar('-');
x=-x;
}
if(x>) {
print(x/);
}
putchar(x%+'');
}
int main() {
// x=y=z=k=m=read();
scanf("%d%d%d%d%d",&x,&y,&z,&k,&m);
for(int i=; i<=z; i++) v[i]=k,f[i][]=;
for(int i=; i<=x; i++) v[z+i]=k+y,f[z+i][]=;
f[][]=;
for(int j=; j<=x+z; j++)
for(int i=; i<=m; i++)
f[j][i]=(f[j-][i]+f[j-][i-]*(v[j]-i+))%MOD;
ans=f[x+z][m];
// print(ans);
printf("%d",ans);
return ;
}
AC
不知道为什么,加了读入优化和输出优化,虽然过样例是没问题的,但是在提交的时候不是re就是wa。
然后我把读入输出优化去掉,还故意把数组弄小了,都比之前数组开大了得分高!
所以肯定是优化的原因啊!
一世安宁
洛谷 P1350 车的放置的更多相关文章
- 【题解】洛谷P1350 车的放置(矩阵公式推导)
洛谷P1350:https://www.luogu.org/problemnew/show/P1350 思路 把矩阵分为上下两块N与M 放在N中的有i辆车 则放在M中有k-i辆车 N的长为a 宽为 ...
- P1350 车的放置
P1350 车的放置 设$f[i][j]$为当前推到第$i$列,该列高度$h$,已经放了$j$个车的方案数 则$f[i][j]=f[i-1][j]+f[i-1][j-1]*(h-j+1)$ 但是我们发 ...
- 洛谷——P3913 车的攻击
P3913 车的攻击 题目描述 N \times NN×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_iRi行,第C_iCi 列.求至少被一个车攻击的格子数量. 车可以攻击所有同一行或者同 ...
- 洛谷 P3913 车的攻击
P3913 车的攻击 题目描述 N \times NN×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_iRi行,第C_iCi 列.求至少被一个车攻击的格子数量. 车可以攻击所有同一行或者同 ...
- 集训作业 洛谷P3913 车的攻击
这个题一开始被我想复杂了,但总体差不多. 脑子清醒后我直接看他占领了几条长,几条宽,比如一个长3宽3的地图. 被占领了一条宽,就可以看成一个长3宽2的地图.这个长3宽2的地图就是出去可以被攻击的点剩下 ...
- 洛谷P1189 逃跑的拉尔夫(SEARCH)
洛谷1189 SEARCH 题目描述 年轻的拉尔夫开玩笑地从一个小镇上偷走了一辆车,但他没想到的是那辆车属于警察局,并且车上装有用于发射车子移动路线的装置. 那个装置太旧了,以至于只能发射关于那辆车的 ...
- 洛谷1377 M国王 (SCOI2005互不侵犯King)
洛谷1377 M国王 (SCOI2005互不侵犯King) 本题地址:http://www.luogu.org/problem/show?pid=1377 题目描述 天天都是n皇后,多么无聊啊.我们来 ...
- 洛谷2583 地铁间谍 (UVa1025A Spy in the Metro)
洛谷2583 地铁间谍(UVa1025A Spy in the Metro) 本题地址:http://www.luogu.org/problem/show?pid=2583 题目描述 特工玛利亚被送到 ...
- 【洛谷P1352】没有上司的舞会
[洛谷P1352]没有上司的舞会 x舷售 锚」翅θ 但是 拙臃 蓄ⅶ榔 暄条熨卫 翘ヴ馇 表现无愧于雪月工作室的核心管理 爸惚扎掬 颇瓶 芟缆肝 貌痉了 洵┭笫装 嗝◇裴腋 褓劂埭 ...
随机推荐
- C++ 类 、构造、 析构、 重载 、单例模式 学习笔记及练习
一.拷贝构造函数 1.是一种特殊的构造函数,就是用一个已有的对象去构造其同类的副本对象,即对象克隆. class 类名 { 类名(类名& that) { 对类成员挨个赋值 ... } } 练习 ...
- UNIX高级环境编程(5)Files And Directories - 文件相关时间,目录文件相关操作
1 File Times 每个文件会维护三个时间字段,每个字段代表的时间都不同.如下表所示: 字段说明: st_mtim(the modification time)记录了文件内容最后一次被修改的时 ...
- web应用配置文件详解(web.xml)
转载链接地址:http://blog.csdn.net/guihaijinfen/article/details/8363839 <?xml version="1.0" en ...
- NTRIP协议学习(一)
这篇博客讲得很清晰. https://blog.csdn.net/sinat_19447667/article/details/67637167 可以参考的文献包括:<多系统GNSS实时数据质 ...
- 1026. [SCOI2009]windy数【数位DP】
Description windy定义了一种windy数.不含前导零且相邻两个数字之差至少为2的正整数被称为windy数. windy想知道, 在A和B之间,包括A和B,总共有多少个windy数? I ...
- 【洛谷】【线段树】P3353 在你窗外闪耀的星星
[题目描述:] /* 飞逝的的时光不会模糊我对你的记忆.难以相信从我第一次见到你以来已经过去了3年.我仍然还生动地记得,3年前,在美丽的集美中学,从我看到你微笑着走出教室,你将头向后仰,柔和的晚霞照耀 ...
- 【洛谷】【扩欧】P1516 青蛙的约会
[题目描述] 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事情,既没有 ...
- python基础整理4——面向对象装饰器惰性器及高级模块
面向对象编程 面向过程:根据业务逻辑从上到下写代码 面向对象:将数据与函数绑定到一起,进行封装,这样能够更快速的开发程序,减少了重复代码的重写过程 面向对象编程(Object Oriented Pro ...
- sql查询以及常见问题理解解析
推荐w3挺好的基础网站:https://www.w3cschool.cn/t_sql/t_sql_date_functions.html =,<,>,> =,<=,IN,BET ...
- C. Phone Numbers
http://codeforces.com/problemset/problem/940/C And where the are the phone numbers? You are given a ...