AC日记——Sagheer, the Hausmeister codeforces 812b
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相关推荐
- AC日记——Periodic RMQ Problem codeforces 803G
G - Periodic RMQ Problem 思路: 题目给一段序列,然后序列复制很多次: 维护序列很多次后的性质: 线段树动态开点: 来,上代码: #include <cstdio> ...
- AC日记——Roma and Poker codeforces 803e
803E - Roma and Poker 思路: 赢或输或者平的序列: 赢和平的差的绝对值不得超过k: 结束时差的绝对值必须为k: 当"?"时可以自己决定为什么状态: 输出最终序 ...
- AC日记——Red and Blue Balls codeforces 399b
399B - Red and Blue Balls 思路: 惊讶的发现,所有的蓝球的消除都是独立的: 对于在栈中深度为i的蓝球消除需要2^i次操作: 代码: #include <cstdio&g ...
- AC日记——传染病控制 洛谷 P1041
传染病控制 思路: 题目想问的是: 有一棵树: 对于除1外每个深度可以剪掉一棵子树: 问最后剩下多少节点: 题目意思一简单,这个题立马就变水了: 搜索就能ac: 数据有为链的情况,按深度为层次搜索的话 ...
- AC日记——中位数 洛谷 P1168
题目描述 给出一个长度为N的非负整数序列A[i],对于所有1 ≤ k ≤ (N + 1) / 2,输出A[1], A[2], -, A[2k - 1]的中位数.[color=red]即[/color] ...
- AC日记——约瑟夫问题 codevs 1282
1282 约瑟夫问题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题解 查看运行结果 题目描述 Description 有编号从1到N的N个小朋友在玩 ...
- AC日记——逃出克隆岛 (bfs)
2059 逃出克隆岛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description oi小组的yh酷爱玩魔兽rpg,每天都会在u9搜 ...
- AC日记——[Hnoi2017]影魔 bzoj 4826
4826 思路: 主席树矩阵加减+单调栈预处理: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 200005 ...
- AC日记——小书童——刷题大军 洛谷 P1926
题目背景 数学是火,点亮物理的灯:物理是灯,照亮化学的路:化学是路,通向生物的坑:生物是坑,埋葬学理的人. 文言是火,点亮历史宫灯:历史是灯,照亮社会之路:社会是路,通向哲学大坑:哲学是坑,埋葬文科生 ...
- AC日记——[HNOI2010]BOUNCE 弹飞绵羊 洛谷 P3203
[HNOI2010]BOUNCE 弹飞绵羊 思路: SBlct: 代码: #include <bits/stdc++.h> using namespace std; #define max ...
最新文章
- ​图像识别算法超低代码开发方案
- Windows 2008 远程登陆时提示要登录到此远程计算机,您必须被授予允许通过终端登录登录的权限...
- ReactiveCocoa
- linux sed 选取,linux sed 替换(整行替换,部分替换)、删除delete、新增add、选取...
- 【Android 插件化】基于插件化引擎的“恶意应用“与“良性应用“区别 | 恶意插件化应用特征
- 在MFC对话框中快速集成三维控件
- USB摄像头无法正常读取问题
- DWZ关闭navTab后刷新指定的navTab
- [luogu2664]树上游戏
- 32位和64位操作系统,二者有何区别?是否64位更快?
- “Null 是价值十亿美元的错误!”
- 谷歌开源文件访问漏洞审计工具 PathAuditor(详解)
- AcWing 1750. 救生员(差分+暴力枚举)
- C语言:求两个整数的最大公约数
- Linux Linux内核参数调优
- 孙鑫VC学习笔记:第二十讲 (一) Hook编程
- jsp实验报告(一)
- 关于HikariCP的见解
- [android开源]简单富文本编辑器MRichEditor,图文混排算个啥
- DNA 8. 癌症的突变异质性及寻找新的癌症驱动基因(MutSigCV)
热门文章
- Atitit usrqbg1821 Tls 线程本地存储(ThreadLocal Storage 规范标准化草案解决方案ThreadStatic
- Atitit..组件化事件化的编程模型--(2)---------Web datagridview 服务器端控件的实现原理and总结
- paip.Log4j配置不起作用的解决
- paip.c++ static 变量的定义以及使用...
- 资源管理器 右键 反应慢 现象解决方案
- 什么是0day漏洞,1day漏洞和nday漏洞
- CTP接口封装相关贴---集合
- 田汉卿:量化投资与风险控制(会议纪要)
- 【路径规划】基于matlab粒子群和遗传算法求解机器人栅格地图避障路径规划问题【含Matlab源码 202期】
- 【优化算法】乌燕鸥优化算法(STOA)【含Matlab源码 1431期】