当前位置: 首页 > news >正文

网站开发php工程师是普通网站地图好还是rss地图好一点

网站开发php工程师,是普通网站地图好还是rss地图好一点,扬州市城乡建设网站,seo首页优化一、题目大意 我们要在N * M的田地里种植玉米#xff0c;有如下限制条件#xff1a; 1、对已经种植了玉米的位置#xff0c;它的四个相邻位置都无法继续种植玉米。 2、题目中有说一些块无论如何#xff0c;都无法种植玉米。 求所有种植玉米的方案数#xff08;不种植也…一、题目大意 我们要在N * M的田地里种植玉米有如下限制条件 1、对已经种植了玉米的位置它的四个相邻位置都无法继续种植玉米。 2、题目中有说一些块无论如何都无法种植玉米。 求所有种植玉米的方案数不种植也是一种方案 二、解题思路 不难看出本题目是铺砖问题我们可以先写一个基于递归解决的Domo。 可以定义数组color[i][j]代表该位置是否起初就无法种植 并定义数组used[i][j]代表该位置是否已经被旁边的块覆盖无法种植。 对于i j 位置判断它如果不能种植就直接计算下一个位置。 如果可以种植则分别尝试种植和不种植两种情况将计算出的方案数求和。 写出递归代码如下 int rec(int i, int j) {if (i n){return 1;}if (j m){return rec(i 1, 0);}if (color[i][j] || used[i][j]){return rec(i, j 1);}int res 0;bool rt false, dn false;if (j 1 m){rt used[i][j 1];}if (i 1 n){dn used[i 1][j];}res rec(i, j 1);used[i][j] true;if (j 1 m){used[i][j 1] true;}if (i 1 n){used[i 1][j] true;}res rec(i, j 1);used[i][j] false;if (j 1 m){used[i][j 1] rt;}if (i 1 n){used[i 1][j] dn;}return res; } 这个递归代码一定是超时的那么接下来考虑如何把它转成DP我们发现这个递归算法是从左上一直算到右下那么对于i j位置其实只需要记录 (rowi1colj)和(rowicolj)的一排元素是否可以种植玉米即可如下图所示。 所以不难看出对于同一个位置且这一排元素确定时算出的方案数也是确定的那么我们就可以从右下角开始一点点边计算边循环到左上角。 在这个计算的过程中和递归一样只需要考虑两点。 第一如果i j位置不能种植玉米则加上i j位置不种植时的下一块的值 crt[ S 去掉第 j 块 ]。 第二如果i j位置能够种植玉米则依次加上i j位置种植和不种植情况时下一块的值dp[S] 和 crt[S 加上第 j 块 和 第 j1 块]如果j1m则不用添加第j1块。 初始化时考虑到最后一块的情况如果它能够种植则是2如果不能则是1那么就可以初始化DP数组上一行的所有元素为1。 可以使用滑动数组求解循环计算每一块之后本次的当前行作为下次计算的上一行即可。 最终输出的答案为上一行的第一个位置。 三、代码 #include iostream using namespace std; const int MAX_M 12; const int MAX_N 12; int dp[2][1 MAX_M]; bool color[MAX_N][MAX_M]; int n, m; void solve() {int *crt dp[0], *next dp[1];fill(crt, crt (1 MAX_M), 1);for (int i n - 1; i 0; i--){for (int j m - 1; j 0; j--){for (int used 0; used (1 m); used){if (color[i][j] || (used j 1)){next[used] crt[used ~(1 j)];}else{int res crt[used];if (j 1 m){res crt[used | (1 (j 1)) | (1 j)];}else{res crt[used | (1 j)];}next[used] res % 100000000;}}swap(next, crt);}}printf(%d\n, crt[0]); } int main() {scanf(%d%d, n, m);int num;for (int i 0; i n; i){for (int j 0; j m; j){scanf(%d, num);color[i][j] num 0;}}solve();return 0; } 四、相关文献 《挑战程序设计竞赛第二版》P196-P198 铺砖问题
http://www.hkea.cn/news/14466734/

相关文章:

  • 网站网站做代理赚钱吗网络推广策划方案
  • 肇庆网站建设维护手机商城网站建设策划方案范文
  • 做盈利的设计素材网站有前途做外贸网站流程图
  • 怎么盗号网站怎么做住房和城乡建设厅焊工证
  • 主流的网站建设的软件网站建设公司选哪个好
  • jsq项目做网站wordpress超出最大上传
  • 包装设计网站欣赏定制微信怎么做
  • phpcms校园网站商标logo生成器
  • 广西网站建设教程app开发费用大概多少
  • 成都哪家网站开发好电子商务网站建设计划
  • 赣州专业企业网站建设网站建设步和客户沟通
  • 重庆网站建设大概需要多少钱一起做陶瓷的网站
  • 网站后台登陆口网站建设与管理实训报告总结
  • 慈溪市网站开发如何下载音乐到wordpress
  • 优购物官方网站app分销微信小程序开发
  • 池州做网站培训山东平台网站建设价位
  • 网站定制开发微信运营吉林省 网站建设
  • 招聘类网站该怎么做网站建设商务代表工作总结
  • 乐成高端网站建设开发网站赚钱
  • 图片预览网站 末班万网注册域名查询官方网站
  • 网站规划与建设模板哪里网站海报做的比较好
  • wordpress手机端导航栏站长工具seo综合查询adc
  • 西安响应式网站建设公司门头沟做网站公司
  • 设计公司网站设计核心关键词和长尾关键词
  • 网站制作效果好国外有哪些做服装的网站有哪些
  • 麻章网站建设公司桂林市区旅游景点
  • 网站企业地图专业网站定制平台
  • 吉林网站建设设计网页设计适合女生吗
  • 做的很不好的网站seo黑帽教程视频
  • 官方网站建设属于什么科目wordpress自动审核