题目描述
据说每一个走进Gree哥哥心房的小姑娘都没有能够再走出来……
我们将Gree哥哥的心房抽象成一个n×m的地图,初始所有点均为空。当小姑娘走入他的心房时(此时小姑娘的位置为 (1,1) 点),他会将kk 个1×1 障碍物放入地图来阻止小姑娘的行动,每个位置最多只能放置一个障碍物(即不能叠加放置)。但由于Gree哥哥被小姑娘的美貌所捕获,并没有一套很好的策略去放置这些障碍物,于是就随机放置这些障碍物。
在Gree随机地把所有障碍物放置好之后,小姑娘要从地图的左上角 (1,1)走到右下角 (n,m)。(起点和终点不能放置障碍物)
小姑娘每一步可以往上下左右的任意一个方向移动一个单位,在所有的障碍物放置方案中,小姑娘从左上角走到右下角需要的最少步数是多少?(小姑娘会尽量走最短的路线)
如果没有一个合理的放置方案,或无论怎样放置障碍物小姑娘都无法到达右下角,输出 -1.

输入描述
输入包含三个正整数 n,m,k。。 (1<=n,m,k<=1e5)
输出描述
输出一个整数表示答案。

样例输入
3 3 2
样例输出
4

提示
若用 00 表示空地,11 表示此地被放置了障碍物。则其中的一种放置方案为:

00 00 11
11 00 00
00 00 00

在这种情况下,从左上角到右下角的步数为 44。且这种方案是小姐姐需要步数最少的方案。(当然也有其他方案也可以让小姐姐4步就能到达终点)

思路:我们尽可能留住一条最近的路,假设将障碍物尽可能都放在左下角(其他可以通过移动将货物放在左下角),因为不能重叠货物,所以最多只能放(n-1)*(m-1)的障碍物,步数就是n+m-2.

#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <sstream>
#include <cstdio>
#include <vector>
#include <string>
#include <cmath>
#include <stack>
#include <queue>
#include <map>
#include <set>
#define MAX 0x3f3f3f3f
#define fori(a,b) for(int i=a;i<=b;i++)
#define forj(a,b) for(int j=a;j<=b;j++)
#define mem(a,b) memset(a,b,sizeof(a))
using namespace std;
typedef long long ll;
const double PI = acos(-1);
const int M=1e5+10;
#define inf 0x3f3f3f
int a[M];
int main()
{ll n,m,k;cin>>n>>m>>k;ll p=(n-1)*(m-1);if(k<=p)cout<<n+m-2<<endl;elsecout<<"-1"<<endl;return 0;
}

I Gree的心房(CCPC-Wannafly Comet OJ 夏季欢乐赛(2019))相关推荐

  1. CCPC-Wannafly Comet OJ 夏季欢乐赛(2019)比赛总结

    CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019)比赛总结 总结: ​ 这场比赛不太顺心,B,I水题 10分钟内A了.A题推公式用double写卡了1个小时,换成其他暴力 ...

  2. CCPC-Wannafly Comet OJ 夏季欢乐赛(2019)

    感觉自己代码能力好弱啊 T1 完全k叉树 传送门 Solution 首先特判一下K=1K=1K=1 然后处理出最大满KKK叉树,设这棵树的深度为rankrankrank,根节点的深度为000,这个时候 ...

  3. Comet OJ CCPC-Wannafly Comet OJ 夏季欢乐赛(2019)

    Preface 在一个月黑风高的夜晚我这个蒟蒻正踌躇着打什么比赛好 是继续做一场AGC,还是去刷一场CF 然后,一道金光闪过(滑稽),我们的红太阳bzt给我指明了方向: 你太菜了,我知道有一场很水的比 ...

  4. CCPC-Wannafly Comet OJ 夏季欢乐赛(2019)E

    题面 这个题暴好啊,考了很多东西. 首先设f(x)为离终点还有x步要走的期望步数,我们可以发现 : 1.x>=k时,x可以转移到的点的下标都<x. 2.x<k时,则可能走回到x或者下 ...

  5. CCPC-Wannafly Comet OJ 夏季欢乐赛(2019)E.飞行棋(期望dp+矩阵快速幂)

    题目 飞行棋的规则如下: 1.每名玩家有一个棋子,每个回合可以掷一次骰子. 2.如果使用的骰子为 k面,则这 k面上的点数分别为 1,2,3,-,k,且掷得每种点数的概率均为​. 3.如果当前回合掷得 ...

  6. CCPC-Wannafly Comet OJ 夏季欢乐赛(2019) 飞行棋

    https://www.cometoj.com/contest/59/problem/E?problem_id=2714 思路:高斯消元求dp[1]~dp[k-1];然后利用递推式矩阵快速幂求出dp[ ...

  7. CCPC-Wannafly Comet OJ 夏季欢乐赛(2019)部分题解

    茶颜悦色 题意 固定kkk的矩形,能最多框住多少个点. 题解 假如我们固定一个矩形,以左下角为坐标. 这样子对于(a,b)(a,b)(a,b),那么能够包括到这个点的矩形左下角的范围: x∈(a−k, ...

  8. CCPC-Wannafly Comet OJ 夏季欢乐赛(2019)A——完全k叉树

    题目描述 欢迎报考JWJU!这里有丰富的社团活动,比如为梦想奋斗的ACM集训队,经常组织飞行棋的桌游协会,喜欢"唱,跳,rap,篮球"的篮球协会,更奇特的是--让人耳目一新的攀树协 ...

  9. A 完全k叉树(CCPC-Wannafly Comet OJ 夏季欢乐赛(2019))

    题目描述 欢迎报考JWJU!这里有丰富的社团活动,比如为梦想奋斗的ACM集训队,经常组织飞行棋的桌游协会,喜欢"唱,跳,rap,篮球"的篮球协会,更奇特的是--让人耳目一新的攀树协 ...

最新文章

  1. 宏基因组分析技术研讨会第5期-最后3个名额,下周开课
  2. 揭阳电网要求计算机二级吗,2018年3月广东省揭阳市计算机等级考试考务通知
  3. 【深度学习】基于Pytorch进行深度神经网络计算(一)
  4. 计算机视觉学习--计算机视觉的古老秘密系列视频
  5. 静态NAT技术三部曲
  6. 我的Go+语言初体验——【一、go+环境WIN10_100%成功安装(附-视频)】
  7. 微型计算机主机箱内的所有部件均由大规模,2012年自考《计算机应用基础》模拟试题...
  8. leetcode —— 1004. 最大连续1的个数 III
  9. 以下哪些参数不是sqlmap中的_变频器控制中必须要设置哪些参数?
  10. 计算机网络学习笔记(7. 报文交换与分组交换①)
  11. 协议栈Protocol stack入门
  12. Android 7.0后SettingProvider ContactsProvider TelephonyProvider MediaProvider数据库位置
  13. python制作回合制游戏脚本_Python制作回合制手游外挂简单教程(下)
  14. 关于sklearn下class_weight参数
  15. 微信支付-本地测试方法-java代码
  16. 如何把公司网址生成二维码
  17. MAC地址是怎么保证全球唯一的
  18. python3 tkinter 刷新标签图片
  19. 软件测试基础理论2-产品模型
  20. 【idea文件夹右键新建,没有Java Class选项】

热门文章

  1. 计算机音乐-乐理知识(1)
  2. 深度学习入门笔记(二):神经网络基础
  3. 计算机启动突然断电,电脑启动运行过程主机突然断电怎么办
  4. coco2d-x游戏开发google play Google In-app-Billing 支付接入
  5. [图]WPS Office 2019上架微软商城:引入全新用户界面
  6. 哪一本科普书籍,会改变你的认知?
  7. 目标检测之Softer-NMS
  8. New UI-Hierarchy Viewer工具解析app的界面布局
  9. 群晖消息通知 推送服务器,群晖点滴我知道 篇一:群晖 如何设置微信通知
  10. 钉钉自动打卡并微信通知打卡成功