https://vjudge.net/problem/UVA-10970

题意:

把一个m行n列的矩形巧克力切成mn个1×1的方块,需要切几刀。

思路:

可以考虑用动态规划的方法去做,当然,最简单的是直接找到规律,直接计算出来。

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<string>
 4 #include<cstring>
 5 using namespace std;
 6
 7 int n, m;
 8 int d[305][305];
 9
10 int dp(int i, int j)
11 {
12     int& ans = d[i][j];
13     if (ans != -1)  return ans;
14     if (i == 1)    return ans=j - 1;
15     if (j == 1)    return ans=i - 1;
16     if (i % 2 == 0)      ans = 2 * dp(i / 2, j) + 1;
17     else if (j % 2 == 0) ans = 2 * dp(i, j / 2) + 1;
18     else return ans = dp(i - 1, j) + j;
19 }
20
21 int main()
22 {
23     ios::sync_with_stdio(false);
24     //freopen("D:\\txt.txt", "r", stdin);
25     while (cin >> n >> m)
26     {
27         memset(d, -1, sizeof(d));
28         dp(n, m);
29         cout << d[n][m] << endl;
30     }
31 }

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<string>
 4 #include<cstring>
 5 using namespace std;
 6
 7 int n, m;
 8
 9 int main()
10 {
11     ios::sync_with_stdio(false);
12     //freopen("D:\\txt.txt", "r", stdin);
13     while (cin >> n >> m)
14     {
15         cout << m*n - 1 << endl;
16     }
17 }

转载于:https://www.cnblogs.com/zyb993963526/p/6523582.html

UVa 10970 大块巧克力相关推荐

  1. UVA10970大块巧克力

    题意:       题意,给你一块n*m的巧克力,最终是要把他切成n*m快小蛋糕,问最小切多少刀?每一刀只能把一个整体切成两个整体,不可以把两个整体分成四个整体,就是说只能切一个地方. 思路:     ...

  2. 初学者acm的练习题指南

    上机练习题参考题 忘了在哪找的啦~~希望对大家有帮助呦 <!--[if !supportLists]-->1.    <!--[endif]-->Programming Bas ...

  3. java 分享巧克力_[leetcode 双周赛 11] 1231 分享巧克力

    1231 Divide Chocolate 分享巧克力 问题描述 你有一大块巧克力,它由一些甜度不完全相同的小块组成.我们用数组 sweetness 来表示每一小块的甜度. 你打算和 K 名朋友一起分 ...

  4. LeetCode 1231. 分享巧克力(极小极大化 二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 你有一大块巧克力,它由一些甜度不完全相同的小块组成.我们用数组 sweetness 来表示每一小块的甜度. 你打算和 K 名朋友一起分享这块巧克力,所以你 ...

  5. Leetcode 1231:分享巧克力(超详细的解法!!!)

    你有一大块巧克力,它由一些甜度不完全相同的小块组成.我们用数组 sweetness 来表示每一小块的甜度. 你打算和 K 名朋友一起分享这块巧克力,所以你需要将切割 K 次才能得到 K+1 块,每一块 ...

  6. leetcode 分享巧克力 java_LeetCode 1231. 分享巧克力(极小极大化 二分查找)

    文章目录 1. 题目 2. 解题 1. 题目 你有一大块巧克力,它由一些甜度不完全相同的小块组成.我们用数组 sweetness 来表示每一小块的甜度. 你打算和 K 名朋友一起分享这块巧克力,所以你 ...

  7. [THUSC2017][斯坦纳树+随机化]巧克力

    题面 [题目描述] "人生就像一盒巧克力,你永远不知道吃到的下一块是什么味道." 明明收到了一大块巧克力,里面有若干小块,排成 n n n行 m m m列.每一小块都有自己特别的图 ...

  8. 【leetcode刷题第36天】1231.分享巧克力、1182.与目标颜色的距离

    第三十六天 1231 分享巧克力 你有一大块巧克力,它由一些甜度不完全相同的小块组成.我们用数组 sweetness 来表示每一小块的甜度. 你打算和 K 名朋友一起分享这块巧克力,所以你需要将切割 ...

  9. UVa10970 - Big Chocolate(计数问题)

    问题:将一个m行n列的巧克力切成mn个1x1的方块,每次只能沿着直线将一块巧克力切成两部分,需要切几刀. 思路:f(m,n)=f(m,k) + f(m, n-k) +1 具体代码参考: https:/ ...

  10. 揭秘|超乎想象!未来50年将出现的九大黑科技……

    来源:世界科技创新论坛 Insititute for the Future是一家专门做预测的研究机构.该机构的首席研究总监Mark Frauenfelder详细描述了人类在未来能够用上,而今天却仍被认 ...

最新文章

  1. linux守护实例有什么用,linux中的信号及进程守护的应用实例分享
  2. 智能产品AI服务智商的权重研究|未来研究
  3. 国内首个手机AR实景驾驶导航上线,还能识别车辆行人,搜狗地图出品
  4. Linux 命令之 dpkg --Debian 的一个底层包管理工具
  5. PyQt5学习笔记(二) 文本控件及使用
  6. c语言中编程中跳格的写法是,c语言中现代写法,用C语言编程中,一般的格式是怎样的?...
  7. 高性能分布式锁-redisson
  8. velocity 时间显示 时间格式化 时间转化
  9. Trick(十五)—— 树结构如何判断一个节点是内部节点(internal node)还是叶子节点(leaf node)
  10. 【转】Unix的文件系统的内部结构,主要是超级块、inode相关知识
  11. 解决问题:Exception during message handling: Unacceptable CPU info: CPU doesn't have compatibility...
  12. svn使用过程中遇到的问题
  13. 动感影集制作音乐相册,超简单实用的方法!风靡QQ空间、微信、抖音
  14. Android 歌词滚动效果(歌词逐个与逐渐变色)可换行
  15. 用js将简体转换为繁体
  16. 调用系统安装软件时出现“解析软件包时出现问题”
  17. 【题解】P2324[SCOI2005] 骑士精神
  18. Tensor (张量) - 神经网络中的数据结构
  19. 使用VRT裁剪栅格影像
  20. 谷歌Flutter1.0正式版发布

热门文章

  1. Netty高性能之道
  2. 送书!60 本签名书!
  3. Volatile的实现原理(看这篇就够了)
  4. mysql数据库语法——(六)
  5. Win Server 8中的利器:微软在线备份服务
  6. cocos2d-x 3.2线程安全的消息中心
  7. JDBC 学习笔记(三)—— 数据源(数据库连接池):DBCP数据源、C3P0 数据源以及自定义数据源技术...
  8. Linux进程间通信IPC学习笔记之同步一(线程、互斥锁和条件变量)
  9. 使用AjaxPro实现ajax效果
  10. Leetcode 363.矩形区域不超过k的最大数值和