2464: 中山市选[2009]小明的游戏

Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 963  Solved: 394
[Submit][Status][Discuss]

Description

小明最近喜欢玩一个游戏。给定一个n * m的棋盘,上面有两种格子#和@。游戏的规则很简单:给定一个起始位置和一个目标位置,小明每一步能向上,下,左,右四个方向移动一格。如果移动到同一类型的格子,则费用是0,否则费用是1。请编程计算从起始位置移动到目标位置的最小花费。

Input

输入文件有多组数据。
输入第一行包含两个整数n,m,分别表示棋盘的行数和列数。
输入接下来的n行,每一行有m个格子(使用#或者@表示)。
输入接下来一行有四个整数x1, y1, x2, y2,分别为起始位置和目标位置。
当输入n,m均为0时,表示输入结束。

Output

对于每组数据,输出从起始位置到目标位置的最小花费。每一组数据独占一行。

Sample Input

2 2
@#
#@
0 0 1 1
2 2
@@
@#
0 1 1 0
0 0

Sample Output

2
0

居然还有没发现的水题,BFS就行了

#include<stdio.h>
#include<string.h>
#include<queue>
using namespace std;
char str[505][505];
typedef struct
{int x;int y;
}Point;
Point now, temp;
int dp[505][505];
queue<Point> q;
int dir[4][2] = {1,0,0,1,-1,0,0,-1};
int main(void)
{int n, m, i, x2, y2, val;while(scanf("%d%d", &n, &m), n!=0 || m!=0){for(i=1;i<=n;i++)scanf("%s", str[i]+1);scanf("%d%d%d%d", &now.x, &now.y, &x2, &y2);now.x++, now.y++, x2++, y2++;memset(dp, 62, sizeof(dp));dp[now.x][now.y] = 0;q.push(now);while(q.empty()==0){now = q.front();q.pop();for(i=0;i<=3;i++){temp.x = now.x+dir[i][0];temp.y = now.y+dir[i][1];if(temp.x<1 || temp.x>n || temp.y<1 || temp.y>m)continue;val = 0;if(str[temp.x][temp.y]!=str[now.x][now.y])val = 1;if(dp[now.x][now.y]+val<dp[temp.x][temp.y]){dp[temp.x][temp.y] = dp[now.x][now.y]+val;q.push(temp);}}}printf("%d\n", dp[x2][y2]);}return 0;
}

bzoj 2464: 中山市选[2009]小明的游戏(BFS)相关推荐

  1. BZOJ 2466 中山市选2009 树 高斯消元+暴力

    题目大意:树上拉灯游戏 高斯消元解异或方程组,对于全部的自由元暴力2^n枚举状态,代入计算 这做法真是一点也不优雅... #include <cstdio> #include <cs ...

  2. BZOJ 2466 [中山市选2009]树(高斯消元)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2466 [题目大意] 给定一棵树,每个节点有一盏指示灯和一个按钮.如果节点的按扭被按了, ...

  3. bzoj千题计划169:bzoj2463: [中山市选2009]谁能赢呢?

    http://www.lydsy.com/JudgeOnline/problem.php?id=2463 n为偶数时,一定可以被若干个1*2 矩形覆盖 先手每次从矩形的一端走向另一端,后手每次走向一个 ...

  4. bzoj2463 [中山市选2009]谁能赢呢?

    2463: [中山市选2009]谁能赢呢? Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 1258  Solved: 917 [Submit][St ...

  5. 小明的游戏(博弈论)

    目录 1.小明的游戏1(尼姆博弈) 2.小明的游戏5( 威佐夫游戏) 3.巴什游戏 4.石子游戏 5.取球游戏 1.小明的游戏1(尼姆博弈) 题目描述 蓝桥公司给他们的员工准备了丰厚的奖金,公司主管小 ...

  6. P4554 小明的游戏(双端bfs)

    P4554 小明的游戏https://www.luogu.com.cn/problem/P4554 #pragma warning(disable:4996) #include <iostrea ...

  7. 小明的游戏1,小明的游戏5(python)

    文章目录 小明的游戏1 分析 运行代码 通过截图 小明的游戏5 分析 运行代码 通过截图 小明的游戏1 题目描述 蓝桥公司给他们的员工准备了丰厚的奖金,公司主管小明并不希望发太多的奖金,他想把奖金留给 ...

  8. 【BZOJ】 2463 [中山市选2009]谁能赢呢?(博弈论)

    Description 小明和小红经常玩一个博弈游戏.给定一个n×n的棋盘,一个石头被放在棋盘的左上角.他们轮流移动石头.每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子 ...

  9. BZOJ 2440: [中山市选2011]完全平方数 [容斥原理 莫比乌斯函数]

    2440: [中山市选2011]完全平方数 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 3028  Solved: 1460 [Submit][S ...

最新文章

  1. 增加ActiveDirectory证书服务器有效期与续订步骤
  2. Order By 排序条件中带参数的写法(Oracle数据库、MyBatis)
  3. 《我的WCF之旅》博文系列汇总
  4. 开车十几年了,一些心得和大家分享、探讨
  5. 新版jmeter图形化报告解析
  6. tensorflow学习笔记(4)softmax分类和简单神经网络比较
  7. linux中epoll函数,Linux Epoll 函数详解.doc
  8. 单机版redis的安装以及redis生产环境启动方案
  9. c#语言程序设计pdf,C#程序设计及应用教程(第2版)
  10. 国内最受欢迎的API市场对比和介绍
  11. WiFi认证—分析从连接WiFi到上网的全过程(一)
  12. 小程序下单支付在我司的应用
  13. Qt 5.15.7 arm交叉编译+tslib-1.22+openssl-3.0.7+alse-1.2.8
  14. oracle导出数据视频教程,Oracle数据导入导出基本操作示例
  15. html页面文字随机效果,教你用javascript实现随机标签云效果_附代码
  16. 火绒规则 禁止所有软件的安装_【技术宅】火绒安全软件防流氓规则编写及使用小白教程(附成品)...
  17. 基于qt开发的智能系统:电子相册,监控摄像头模块,音乐播放器,视频播放器,电子时钟
  18. MacOS环境下安卓apk反编译
  19. 八、T100应付管理系统之员工费用报销管理篇
  20. 教师资格初中计算机说课,中学教师资格证初中音乐说课教案:《摇篮曲》

热门文章

  1. python开发软件的实例-由Python编写的MySQL管理工具代码实例
  2. python培训班靠谱吗-Python培训机构就业靠不靠谱?
  3. 如何自学python-如何自学Python编程呢?老男孩Python学习方法
  4. python编程入门书籍-关于 Python 的经典入门书籍有哪些?
  5. 简单python脚本实例-五个python常用运维脚本面试题实例
  6. php mysql mysql_set_charset()._PHP:MySQL函数mysql_set_charset()的用法
  7. Vue前端路由~非常详细哦,不要错过
  8. vue项目中对接微信公众号使用微信js-sdk
  9. 【王道计组笔记】半导体存储器RAM ROM
  10. X264 输出的统计值的含义(X264 Stats Output)