热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JZOJ1266.玉米田

1266.玉米田(cowfood.pasccpp)(FileIO):input:cowfood.inoutput:cowfood.outTimeLimits:1000msMemor

Description

农民 John 购买了一处肥沃的矩形牧场&#xff0c;分成M*N(1 <&#61; M <&#61; 12; 1 <&#61; N <&#61; 12)个格子。他想在那里的一些格子中种植美味的玉米。遗憾的是&#xff0c;有些格子区域的土地是贫瘠的&#xff0c;不能耕种。精明的 FJ 知道奶牛们进食时不喜欢和别的牛相邻&#xff0c;所以一旦在一个格子中种植玉米&#xff0c;那么他就不会在相邻的格子中种植&#xff0c;即没有两个被选中的格子拥有公共边。他还没有最终确定哪些格子要选择种植玉米。           作为一个思想开明的人&#xff0c;农民 John 希望考虑所有可行的选择格子种植方案。由于太开明&#xff0c;他还考虑一个格子都不选择的种植方案&#xff01;请帮助农民 John 确定种植方案总数。

Input

Line 1: 两个用空格分隔的整数 M 和 N
  Lines 2..M&#43;1: 第 i&#43;1 行描述牧场第i行每个格子的情况&#xff0c; N 个用空格分隔的整数&#xff0c;表示 这个格子是否可以种植(1 表示肥沃的、适合种植&#xff0c;0 表示贫瘠的、不可种植)

Output

Line 1: 一个整数: FJ 可选择的方案总数 除以 100,000,000 的余数。

Sample Input

2 3
1 1 1
0 1 0

Sample Output

9

做法&#xff1a;直接将状态压缩&#xff0c;然后dp统计就好了&#xff0c;转移方程与预处理看代码

1 #include
2 #include
3 #include
4 #include <string>
5 #define LL long long
6 #define mo 100000000
7 using namespace std;
8 long long f[13][4100], e[13][4100], ans;
9 int n, m, a[13][13];
10 int pre[20];
11
12 void dfs(int h, int dep, int s, int choose)
13 {
14 if (dep > m)
15 {
16 e[h][&#43;&#43;e[h][0]] &#61; s;
17 return;
18 }
19 if (a[h][dep] && !choose) dfs(h, dep &#43; 1, s &#43; pre[dep - 1], 1);
20 dfs(h, dep &#43; 1, s, 0);
21 }
22
23 void pre_work()
24 {
25 pre[0] &#61; 1;
26 for (int i &#61; 1; i <&#61; 18; i&#43;&#43;)
27 pre[i] &#61; pre[i - 1] * 2;
28 for (int i &#61; 1; i <&#61; n; i&#43;&#43;)
29 dfs(i, 1, 0, 0);
30 }
31
32 void dp()
33 {
34 for (int i &#61; 1; i <&#61; e[1][0]; i&#43;&#43;)
35 f[1][e[1][i]] &#61; 1;
36 for (int i &#61; 2; i <&#61; n; i&#43;&#43;)
37 {
38 for (int j &#61; 1; j <&#61; e[i][0]; j&#43;&#43;)
39 for (int k &#61; 1; k <&#61; e[i - 1][0]; k&#43;&#43;)
40 if ((e[i][j] & e[i - 1][k]) &#61;&#61; 0)
41 f[i][e[i][j]] &#43;&#61; f[i - 1][e[i - 1][k]];
42 }
43 ans &#61; 0;
44 for (int i &#61; 1; i <&#61; e[n][0]; i&#43;&#43;)
45 ans &#43;&#61; f[n][e[n][i]], ans %&#61; mo;
46 }
47
48 int main()
49 {
50 freopen("cowfood.in", "r", stdin);
51 freopen("cowfood.out", "w", stdout);
52 scanf("%d%d", &n, &m);
53 for (int i &#61; 1; i <&#61; n; i&#43;&#43;)
54 {
55 for (int j &#61; 1; j <&#61; m; j&#43;&#43;)
56 scanf("%d", &a[i][j]);
57 }
58 pre_work();
59 dp();
60 printf("%lld", ans);
61 }

View Code

 

代码如下&#xff1a;

转:https://www.cnblogs.com/traveller-ly/p/9338501.html



推荐阅读
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • 本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ... [详细]
  • 主调|大侠_重温C++ ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • CSS高级技巧:动态高亮当前页面导航
    本文介绍了如何使用CSS实现网站导航栏中当前页面的高亮显示,提升用户体验。通过为每个页面的body元素添加特定ID,并结合导航项的类名,可以轻松实现这一功能。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • 本文介绍了如何使用暴力方法解决HDU5444问题。代码通过逐个检查输入数据,确保在所有情况下都能找到正确的解决方案。 ... [详细]
  • 二叉树的链表实现
    本文介绍了一种使用链表结构表示二叉树的方法。通过定义节点结构和相关操作函数,可以方便地创建、插入和遍历二叉树。 ... [详细]
  • 本文介绍了一种基于选择排序思想的高效排序方法——堆排序。通过使用堆数据结构,堆排序能够在每次查找最大元素时显著提高效率。文章详细描述了堆排序的工作原理,并提供了完整的C语言代码实现。 ... [详细]
  • 本文探讨了在 SQL Server 中使用 JDBC 插入数据时遇到的问题。通过详细分析代码和数据库配置,提供了解决方案并解释了潜在的原因。 ... [详细]
  • 为了解决不同服务器间共享图片的需求,我们最初考虑建立一个FTP图片服务器。然而,考虑到项目是一个简单的CMS系统,为了简化流程,团队决定探索七牛云存储的解决方案。本文将详细介绍使用七牛云存储的过程和心得。 ... [详细]
  • 本文探讨了符号三角形问题,该问题涉及由相同数量的“+”和“-”符号组成的三角形。通过递归回溯法,可以有效地搜索并计算符合条件的符号三角形的数量。 ... [详细]
author-avatar
薇薇MM81_811
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有