hihoCoder Demo Day dp
来源:互联网 发布:服装设计要学什么软件 编辑:程序博客网 时间:2024/05/19 19:14
题意:有一个机器人被困在一个
思路:
AC代码
#include <cstdio>#include <cmath>#include <cctype>#include <bitset>#include <algorithm>#include <cstring>#include <utility>#include <string>#include <iostream>#include <map>#include <set>#include <vector>#include <queue>#include <stack>using namespace std;#pragma comment(linker, "/STACK:1024000000,1024000000") #define eps 1e-10#define inf 0x3f3f3f3f#define PI pair<int, int> typedef long long LL;const int maxn = 100 + 5;int n, m;char G[maxn][maxn];int dp[maxn][maxn][2]; //0-right 1-downconst int dx[] = {0,1};const int dy[] = {1,0};bool is_in(int x, int y) { if(x < 0 || y < 0 || x >= n || y >= m) return false; return true;} int main() { while(scanf("%d%d", &n, &m) == 2) { for(int i = 0; i < n; ++i) { scanf("%s", G[i]); } memset(dp, inf, sizeof(dp)); dp[0][0][0] = 0; for(int i = 0; i < n; ++i) for(int j = 0; j < m; ++j) { for(int k = 0; k < 2; ++k) { int x = i + dx[k], y = j + dy[k]; if(!is_in(x, y) || G[x][y] == 'b') dp[i][j][1-k] = min(dp[i][j][k], dp[i][j][1-k]); else dp[i][j][1-k] = min(dp[i][j][k]+1, dp[i][j][1-k]); } for(int k = 0; k < 2; ++k) { int x = i + dx[k], y = j + dy[k]; if(is_in(x, y)) { dp[x][y][k] = min(dp[i][j][k], dp[x][y][k]); if(G[x][y] == 'b') dp[x][y][k]++; } } } printf("%d\n", min(dp[n-1][m-1][0], dp[n-1][m-1][1])); } return 0;}
如有不当之处欢迎指出!
0 0
- hihoCoder Demo Day dp
- hihocoder 1290 Demo Day
- hihocoder 1290:Demo Day
- hihocoder 1290 Demo Day 二维图的dp
- 微软2016校园招聘4月在线笔试 hihocoder 1290 Demo Day (dp)
- 微软2016校园招聘4月:hihocoder- #1290 : Demo Day
- hihocode 1290Demo Day(DP)
- hiho 1290 —— Demo Day 【DP】
- hihocoder 1290 -- 微软2016校园招聘4月在线笔试-3-Demo Day
- hihoCoder1290. Demo Day
- hihiCoder1290 Demo Day
- 【hihocoder】状态压缩dp
- 【DP】 hihocoder #1159 : 扑克牌
- 【DP】 hihocoder #1170 : 机器人
- hihocoder 1243 树形DP
- hihocoder 1259 (数位DP)
- hihocoder 1290 DP
- hihocoder 1044 (状压dp)
- 指针作为参数传入函数的陷阱
- 顺序与选择结构
- PMA,时间序列模型的二维扩展
- 详述 Cookie 与 Session 的区别
- J.U.C — Locks — ReentrantLock(二)
- hihoCoder Demo Day dp
- C值传递和引用传递
- POJ 3279 Fliptile
- Dubbo之——Dubbo 管理控制台的安装
- 空指针赋值问题(树的非递归遍历)
- 支付SDK
- linux常用命令
- swing树形图
- 性能测试计数器分析指南