812B - Sagheer, the Hausmeister

思路:

  搜索;

代码:

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>using namespace std;#define maxn 20
#define maxm 105
#define INF 0x7fffffffint n,m,deep[maxn][2],num[maxn],ans=INF,k,sum[maxn],cnt;char map[maxn][maxm];void dfs(int now,bool st,int val)
{if(val>=ans) return;if(now==n){if(num[now]){if(st) val+=k-deep[now][0];else val+=deep[now][1]-1;}if(val<ans) ans=val;return;}if(sum[now]==cnt){if(num[now]){if(st) val+=k-deep[now][0];else val+=deep[now][1]-1;}if(val<ans) ans=val;return;}if(num[now]){if(st) dfs(now+1,st^1,val+k),dfs(now+1,st,val+(k-deep[now][0])*2+1);else dfs(now+1,st,val+deep[now][1]*2-1),dfs(now+1,st^1,val+k);}else dfs(now+1,st,val+1),dfs(now+1,st^1,val+k);
}int main()
{scanf("%d%d",&n,&m);k=m+2;for(int i=1,i_=n;i<=n;i++,i_=n-i+1){scanf("%s",map[i]+1);for(int j=1;j<=m+2;j++){if(map[i][j]=='1'&&(!deep[i_][0])) deep[i_][0]=j;if(map[i][j]=='1') deep[i_][1]=j,num[i_]++;}}for(int i=1;i<=n;i++) sum[i]=sum[i-1]+num[i],cnt+=num[i];dfs(1,false,0),printf("%d\n",ans);return 0;
}

转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/6936377.html

AC日记——Sagheer, the Hausmeister codeforces 812b相关推荐

  1. AC日记——Periodic RMQ Problem codeforces 803G

    G - Periodic RMQ Problem 思路: 题目给一段序列,然后序列复制很多次: 维护序列很多次后的性质: 线段树动态开点: 来,上代码: #include <cstdio> ...

  2. AC日记——Roma and Poker codeforces 803e

    803E - Roma and Poker 思路: 赢或输或者平的序列: 赢和平的差的绝对值不得超过k: 结束时差的绝对值必须为k: 当"?"时可以自己决定为什么状态: 输出最终序 ...

  3. AC日记——Red and Blue Balls codeforces 399b

    399B - Red and Blue Balls 思路: 惊讶的发现,所有的蓝球的消除都是独立的: 对于在栈中深度为i的蓝球消除需要2^i次操作: 代码: #include <cstdio&g ...

  4. AC日记——传染病控制 洛谷 P1041

    传染病控制 思路: 题目想问的是: 有一棵树: 对于除1外每个深度可以剪掉一棵子树: 问最后剩下多少节点: 题目意思一简单,这个题立马就变水了: 搜索就能ac: 数据有为链的情况,按深度为层次搜索的话 ...

  5. AC日记——中位数 洛谷 P1168

    题目描述 给出一个长度为N的非负整数序列A[i],对于所有1 ≤ k ≤ (N + 1) / 2,输出A[1], A[2], -, A[2k - 1]的中位数.[color=red]即[/color] ...

  6. AC日记——约瑟夫问题 codevs 1282

    1282 约瑟夫问题  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 大师 Master 题解  查看运行结果 题目描述 Description 有编号从1到N的N个小朋友在玩 ...

  7. AC日记——逃出克隆岛 (bfs)

    2059 逃出克隆岛  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解 题目描述  Description oi小组的yh酷爱玩魔兽rpg,每天都会在u9搜 ...

  8. AC日记——[Hnoi2017]影魔 bzoj 4826

    4826 思路: 主席树矩阵加减+单调栈预处理: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 200005 ...

  9. AC日记——小书童——刷题大军 洛谷 P1926

    题目背景 数学是火,点亮物理的灯:物理是灯,照亮化学的路:化学是路,通向生物的坑:生物是坑,埋葬学理的人. 文言是火,点亮历史宫灯:历史是灯,照亮社会之路:社会是路,通向哲学大坑:哲学是坑,埋葬文科生 ...

  10. AC日记——[HNOI2010]BOUNCE 弹飞绵羊 洛谷 P3203

    [HNOI2010]BOUNCE 弹飞绵羊 思路: SBlct: 代码: #include <bits/stdc++.h> using namespace std; #define max ...

最新文章

  1. ​图像识别算法超低代码开发方案
  2. Windows 2008 远程登陆时提示要登录到此远程计算机,您必须被授予允许通过终端登录登录的权限...
  3. ReactiveCocoa
  4. linux sed 选取,linux sed 替换(整行替换,部分替换)、删除delete、新增add、选取...
  5. 【Android 插件化】基于插件化引擎的“恶意应用“与“良性应用“区别 | 恶意插件化应用特征
  6. 在MFC对话框中快速集成三维控件
  7. USB摄像头无法正常读取问题
  8. DWZ关闭navTab后刷新指定的navTab
  9. [luogu2664]树上游戏
  10. 32位和64位操作系统,二者有何区别?是否64位更快?
  11. “Null 是价值十亿美元的错误!”
  12. 谷歌开源文件访问漏洞审计工具 PathAuditor(详解)
  13. AcWing 1750. 救生员(差分+暴力枚举)
  14. C语言:求两个整数的最大公约数
  15. Linux Linux内核参数调优
  16. 孙鑫VC学习笔记:第二十讲 (一) Hook编程
  17. jsp实验报告(一)
  18. 关于HikariCP的见解
  19. [android开源]简单富文本编辑器MRichEditor,图文混排算个啥
  20. DNA 8. 癌症的突变异质性及寻找新的癌症驱动基因(MutSigCV)

热门文章

  1. Atitit usrqbg1821 Tls 线程本地存储(ThreadLocal Storage 规范标准化草案解决方案ThreadStatic
  2. Atitit..组件化事件化的编程模型--(2)---------Web datagridview 服务器端控件的实现原理and总结
  3. paip.Log4j配置不起作用的解决
  4. paip.c++ static 变量的定义以及使用...
  5. 资源管理器 右键 反应慢 现象解决方案
  6. 什么是0day漏洞,1day漏洞和nday漏洞
  7. CTP接口封装相关贴---集合
  8. 田汉卿:量化投资与风险控制(会议纪要)
  9. 【路径规划】基于matlab粒子群和遗传算法求解机器人栅格地图避障路径规划问题【含Matlab源码 202期】
  10. 【优化算法】乌燕鸥优化算法(STOA)【含Matlab源码 1431期】