考拉nbsp;PASCALnbsp;解题报告
考拉
从前,在一片美丽的树林里,居住着一只可爱的小考拉。一天,小狐狸在OJ上刷题的时候遇到了这样一个问题:
给定一个N行M列的网格,请在每一格上填上+1或-1,使得每行和每列的数的乘积都等于-1。求方案数。
小狐狸不会做于是找到了小考拉。小考拉也不会做。你能帮助他么?
输入
有多组数据。输入数据第一行包含T为数据组数。
下面T行每行依次包含两个整数N和M。
输出
输出T行每行一个整数,为方案数。注意方案数可能很大。
样例输入
2
2 3
2 2
样例输出
0
2
数据范围
对于20%的数据有1 ≤ N, M ≤ 5
对于100%的数据有1 ≤ N, M ≤ 100, 1 ≤ T ≤ 10
一开始就往动归方面想。
但情况好多,于是写了个简单搜索程序,打了下面的表。
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
2 |
0 |
2 |
0 |
8 |
0 |
32 |
0 |
128 |
3 |
1 |
0 |
16 |
0 |
256 |
0 |
4096 |
|
4 |
0 |
8 |
0 |
512 |
0 |
32768 |
0 |
|
5 |
1 |
0 |
256 |
0 |
66536 |
0 |
||
6 |
0 |
32 |
0 |
32768 |
0 |
|||
7 |
1 |
0 |
4096 |
0 |
||||
8 |
0 |
128 |
然后发现全都是2的次方,于是把表转化为下面
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
2 |
1 |
1 |
1 |
3 |
1 |
5 |
1 |
7 |
3 |
0 |
1 |
4 |
1 |
8 |
1 |
12 |
|
4 |
1 |
3 |
1 |
9 |
1 |
15 |
1 |
|
5 |
0 |
1 |
8 |
1 |
16 |
1 |
||
6 |
1 |
5 |
1 |
15 |
1 |
|||
7 |
0 |
1 |
12 |
1 |
||||
8 |
1 |
7 |
不难看出,对于x=y=n 则 表2[x,y] = (n-1)^2。且对于x+y=2n 的数,其值都和 表2[n,n] 有关系 。所以就有了递归关系式。
这题还要用到高精度。最后的结果是个非常大的数。我一开始高精度数组开100,爆了;开到1000,又爆了;直到开到5000才没爆。
做是做出来了,但是不知道原因。。这大概就是考试时做动归题目的策略。
正解:
考虑前N-1行M-1列随便填,那么第N行的前M-1列所有位置唯一确定,第M列的前N-1行所有位置也唯一确定。
如右图。
这时分四种情况:
若N为奇数,M为奇数,则区域2的格子的乘积等于负的区域1的乘积,区域3的乘积同样等于负的区域1的乘积,而区域四的乘积等于区域2的乘积等于区域3的乘积,于是此时答案唯一。
若N为奇数,M为偶数,则区域2的格子的乘积等于负的区域1的乘积,区域3的乘积却等于正的区域1的乘积,此时区域2的乘积不等于区域3的乘积,无解。
若N为偶数,M为偶数,同理可知解唯一。
若N为偶数,M为奇数,同理可知无解。
综上可知,若N与M奇偶性相同则答案为2(N-1)*(M-1),否则答案为0。
var
t,n,m,k,o,key,oo,i,j:longint;
a:array[0..5000]of longint;
procedure cheng;
var
g,i:longint;
begin
g:=0;
for i:=5000 downto a[0] do
begin
a[i]:=a[i]+a[i]+g;
g:=a[i] div 10;
a[i]:=a[i] mod 10;
end;
if g<>0 then
begin
dec(a[0]);
a[a[0]]:=g;
end;
end;
begin
assign(input,'koala.in');
assign(output,'koala.out');
reset(input);
rewrite(output);
read(t);
while t>0 do
begin
dec(t);
read(n,m);
k:=m+n;
if k mod 2<>0 then begin writeln(0); continue; end;
o:=k div 2-1;
key:=o*o;
o:=o+1;
if (o=n)or(o=m) then oo:=key
else oo:=key-abs(o-m)*abs(o-m);
fillchar(a,sizeof(a),0);
a[5000]:=1;
a[0]:=5000;
while oo>0 do
begin
cheng;
dec(oo);
end;
i:=1;
for j:=a[0] to 5000 do write(a[j]);
writeln;
end;
close(input);
close(output);
end.5
考拉nbsp;PASCALnbsp;解题报告相关推荐
- 小红书竞品分析_小红书与网易考拉 竞品分析报告
先说结论: 目标:提升用户信任感→盈利 1) 产品迭代方向一:加强电商模块的运营 a) 增加商品界面的买家评价或讨论区. b) 买家评价和讨论区更能让用户在买之前向已购买用户清晰.准确.简单.直观地了 ...
- 小红书竞品分析_小红书与网易考拉海购竞品分析报告
近几年来,国内电商在政策利好形势下纷纷兴起,经过数轮洗牌,已然处于相对稳定的局面.有天猫国际.网易考拉海购.京东全球购等依靠大型集团公司的综合性跨境电商平台,也有小红书.唯品会等在激烈竞争中生存下来的 ...
- hdu 2049 不容易系列之(4)——考新郎 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2049 写这篇解题报告时 我真的很气愤 对自己又一次犯下低级错误改了两个小时 int型的数据居然用%I6 ...
- [蓝桥杯解题报告]第十届蓝桥杯大赛省赛(软件类)真题C++A组 Apare_xzc
蓝桥杯第十届省赛软件类C++A组解题报告 Apare_xzc 2020/2/13 考生须知 A. 平方和(5分) 分析: 这个题就是简单的模拟.只要循环一遍,判断每个数是否含有2019,然后平方相加即 ...
- 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 解题报告(三)多项式求值与插值(拉格朗日插值)(ACM / OI)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...
- 解题报告(五)组合计数(ACM / OI)超高质量题解
繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...
- POJ 2800 垂直直方图 解题报告
POJ 2800 垂直直方图 解题报告 编号:2800 考查点:简单计算题 思路: 用gets()读入4行数据,然后按字符统计,显示的时候有点小处理即可. 提交情况: 感觉POJ的测试数据有点骗人 ...
- 百度之星初赛(1)解题报告
超级赛亚ACMer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 拓荒会员电商“无人区”,考拉海购能否拿下“新船票”?
文 | 陈小江 来源 | 螳螂财经(ID:TanglangFin) 考拉海购"变"了. 近日,考拉海购宣布战略升级--在现有跨境业务基础上All in会员电商.这是考拉融入阿里经济 ...
最新文章
- 层次聚类python_用python绘制层次聚类图
- 折腾的人生......
- linux查看samba目录的配额,问Samba中一个共享目录,怎么限制其容量大小?不是用户级quota!!...
- 【工业】工业控制博客汇总
- [leetcode] 746.使用最小花费爬楼梯
- epoll反应堆模型代码
- python循环中的else_python 循环中else的简单示例
- redis配置mysql缓存_Redis做mysql的缓存服务器
- linux主机添加discuz伪静态规则,Discuz! X2.5论坛win主机与linux主机伪静态设置方法...
- overflow鼠标拖拽显示_[翻译] 从零开始的 .Net Shell 扩展教程 (四) - Shell 拖拽处理程序
- thinkphp页面请求时间超过40S报404错误解决办法
- 成长中不可或缺的是信仰(转载)
- 小程序学习笔记(7)-使用小程序的组件构建UI界面
- 潦草字体在线识别_想要知道某些字是什么字体?帮助你以最快的方式识别
- 一维搜索进退法c语言程序,基于c语言黄金分割法优化设计.doc
- 为什么一线互联网公司的校招高薪都是算法类,工程岗校招不配拥有高薪吗?
- stm32 uv5打开uv4工程错误
- video标签 或 微软云 azure-media-player 禁止在iphone safari中默认全屏播放
- vb ajax提交post,使用jQuery AJAX将JS数组传递给VB.Net post
- 谷歌浏览器打包扩展程序(记录扩展程序根目录)
热门文章
- 短视频创业,如何在技术上节省100万启动资金?
- XP系统 mscorsvw.exe进程 占CPU资源 开机加载网络连接很慢 解决方法
- thinkphp5 layui分页样式
- Python简单版本flappy_bird
- 晓黑板显示服务器开小差是啥问题,晓黑板怎样写作文
- 计算机桌面黑屏有鼠标,win7系统启动黑屏只有显示鼠标指针怎么办(图文)
- python远程访问服务器获取文件
- 计算机垃圾桶桌面,电脑桌面比垃圾桶还乱?一分钟轻松快速整理你的电脑桌面...
- MT【217】韦达定理应用
- 风道设计独特,外观简约时尚,安钛克DF 700 Flux机箱体验