Codeforces 115B Lawnmower
来源:互联网 发布:倒带和彩虹歌词知乎 编辑:程序博客网 时间:2024/05/21 07:47
题意:
给你张n*m的图,图上W表示草,G表示平地,一开始你从左上角朝右开始推草,每往下走一步朝向相反,问你最少需要走几步才能推完所有的草。
思路:
因为奇数行和偶数行的朝向是固定的,所以即使该行已经没有草了,但是由于下一行需要你还是得往前走,所以每行需要走的那一列就得由当前行和下一行的草来决定。还有如果当前行推完后已经没有草了,就没必要去下一行了,所有开个sum来记录还剩多少草。
#include<cstdio>const int MAX=155;int n,m;char mp[MAX][MAX];int main(){scanf("%d%d",&n,&m);int sum=0;for(int i=1;i<=n;i++){scanf("%s",mp[i]+1);for(int j=1;j<=m;j++){if(mp[i][j]=='W') sum++;}}int ans=0,c=1;for(int i=1;i<=n;i++){if(i%2){int t=c,num=0;for(int j=c;j<=m;j++){if(mp[i][j]=='W') t=j,num++;if(i<n&&mp[i+1][j]=='W') t=j;}sum-=num;ans+=t-c+(sum==0?0:1);c=t;}else{int t=c,num=0;for(int j=c;j>=1;j--){if(mp[i][j]=='W') t=j,num++;if(i<n&&mp[i+1][j]=='W') t=j;}sum-=num;ans+=c-t+(sum==0?0:1);c=t;}if(!sum) break;}printf("%d\n",ans);return 0;}
0 0
- Codeforces 115B Lawnmower
- Codeforces 115 B Lawnmower【思维】
- CF 115B. Lawnmower
- Problem B. Lawnmower
- Lawnmower
- Lawnmower
- Codeforces Beta Round #87 (Div. 2) / 116D Lawnmower (讨论情况)
- codeforces B
- codeforces B
- codeforces B
- codeforces B
- Lawnmower(codeforces115B)
- CodeForces 626B CodeForces 626B【暴力】
- CodeForces 841B (B) 博弈
- 2013 google code jam Lawnmower
- hrbust 1759 Lawnmower【思维题】
- codeforces 134B
- codeforces#98 b
- 【水题】跑跑卡丁车系列之游戏下载
- codefoces #364 div2 E &&div 1 B Connecting Universities [图论]【求贡献】
- 字符串
- 常用类思维导图
- 数据结构实验之栈三:后缀式求值
- Codeforces 115B Lawnmower
- 九、装饰器模式Decorator(结构型)
- javascript简介
- XUtils网络请求封装类
- 数据库cmd命令行
- 小猫统计:完善了查询字段
- Android WIFI Debug AndroidStudio/Eclipse 无需 Root 无线调试
- Java内存区域
- 来电归属地显示