当前位置: 首页 > news >正文

网站架构招聘wordpress 链接新窗口打开

网站架构招聘,wordpress 链接新窗口打开,做照片的网站有哪些软件,网站建设 课题研究的背景文章目录 [Grid Ice Floor](https://atcoder.jp/contests/abc311/tasks/abc311_d)问题建模问题分析1.分析移动时前后两个点之间的联系2.方法1通过BFS将所有按照给定运动方式可以到达的点都标记代码 3.方法2采用DFS来标记路径上的点的运动状态代码 Grid Ice Floor 问题建模 给定… 文章目录 [Grid Ice Floor](https://atcoder.jp/contests/abc311/tasks/abc311_d)问题建模问题分析1.分析移动时前后两个点之间的联系2.方法1通过BFS将所有按照给定运动方式可以到达的点都标记代码 3.方法2采用DFS来标记路径上的点的运动状态代码 Grid Ice Floor 问题建模 给定一个n*m的字符矩阵有’.‘和’#‘两种字符其中’.为冰块是可移动的到的地方‘#为岩石无法移动到该地方。从点(2,2)出发出发时选择一个方向移动持续移动至撞上岩石时停止并重新选择移动方向。问由点(2,2)出发最多可以经过的冰块数量为多少。 问题分析 1.分析移动时前后两个点之间的联系 若前一个点是由停止后选择新的移动方向进行移动则后一个点为保持前一个点的移动方向进行移动。若前一个点是移动的则到后一个点既有可能保持与前一个点同样的移动方向继续移动也有可能是无法移动从而停止。通过分析两点间的联系可以发现每个点的状态有2大类一类为停止一类为运动运动里有按运动方向分为上下左右四种。 2.方法1通过BFS将所有按照给定运动方式可以到达的点都标记 因为任意一个点只要有一种运动状态被标记则该点一定可以由(2,2)点到达那我们可以让(2,2)为起点跑BFS将所有可以可到达路径上的点都标记最终统计所有被标记过的点即可得到答案。 代码 #includebits/stdc.h#define x first #define y second #define C(i) str[0][i]!str[1][i] using namespace std; typedef unsigned long long ULL; typedef long long LL; typedef pairint, int PII; typedef pairLL, LL PLL; const int N 210, Mod 998244353; int n,m; string g[N]; bool st[N][N][5];///记录该点的5种状态 int dx[4]{-1,0,1,0}; int dy[4]{0,1,0,-1};void bfs(){memset(st,false,sizeof(st));st[1][1][4]true;queueint q;///将坐标信息和状态映射为一个整数并出入队列中q.push(5*(m1)4);while(q.size()){int qtq.front();q.pop();int x(qt/5)/m;int y(qt/5)%m;int dqt%5;if(d4){///若当前状态为停止则选择新的方向移动for(int i0;i4;i){int nxxdx[i],nyydy[i];if(nx0nxn-1ny0nym-1g[nx][ny]!#!st[nx][ny][i]){st[nx][ny][i]true;q.push(5*(m*nxny)i);}}}else {int nxxdx[d],nyydy[d];///若当前运动方向可以接着移动则继续移动否则停止并选择新的方向if(nx0nxn-1ny0nym-1g[nx][ny]!#!st[nx][ny][d]){st[nx][ny][d]true;q.push(5*(m*nxny)d);}else {if(!st[x][y][4]){st[x][y][4]true;q.push(5*(m*xy)4);}}}} }void solve() {cin n m;for(int i0;in;i) cin g[i];bfs();int cnt0;for(int i0;in;i){for(int j0;jm;j){///若该点有一种状态被标记则该点可达cnt(st[i][j][0]|st[i][j][1]|st[i][j][2]|st[i][j][3]|st[i][j][4]);}}cout cntendl; } int main() {int t 1;//cin t;while (t--) solve();return 0; }3.方法2采用DFS来标记路径上的点的运动状态 代码 停止后再选择新的移动方向可以不用设置为一个单独的状态而是直接选择新的方向从而省去停止状态 #includebits/stdc.h#define x first #define y second #define C(i) str[0][i]!str[1][i] using namespace std; typedef unsigned long long ULL; typedef long long LL; typedef pairint, int PII; typedef pairLL, LL PLL; const int N 210, Mod 998244353; int n,m; string g[N]; bool st[N][N][4]; int dx[4]{-1,0,1,0}; int dy[4]{0,1,0,-1};void dfs(int x,int y,int d){if(g[x][y]#||st[x][y][d]) return ;st[x][y][d]true;int nxxdx[d],nyydy[d];if(g[nx][ny]!#){///可以继续移动dfs(nx,ny,d);}else{//更换方向for(int i0;i4;i){nxxdx[i],nyydy[i];dfs(nx,ny,i);}} }void solve() {cin n m;for(int i0;in;i) cin g[i];memset(st,false,sizeof(st));dfs(1,1,3);int cnt0;for(int i0;in;i){for(int j0;jm;j){cnt(st[i][j][0]|st[i][j][1]|st[i][j][2]|st[i][j][3]);}}cout cntendl; } int main() {int t 1;//cin t;while (t--) solve();return 0; }
http://www.huolong8.cn/news/484596/

相关文章:

  • 出售已备案的域名合法吗绍兴网站关键词优化
  • 设计素材网站蜂wordpress怎么改成中文版
  • 监控网站模板下载如何建立官网
  • 舞台灯光网站建设公司企业做电商网站有哪些内容
  • 网站建设网站维护的具体内容是什么网站建设流程有几个阶段
  • 中冶建设网站做网站销售的话术
  • 珠海网站制作哪家便宜免费网站免费领地
  • 提出网络营销思想的网站改版计划延安商城网站开发设计
  • 域名没备案如何建设网站三打哈网络推广平台
  • 上海网站排名企业网站源码生成
  • 建设p2p网站wordpress模板放在哪里
  • 陇南市响应式网站建设系统搭建
  • 网站开发公司 网站空间vps如何wordpress
  • 外贸自建站平台怎么找做网站用不用thinkphp
  • 具有品牌的做网站服装网站策划设计
  • 淘宝上做淘宝客的网站惠州手工外发加工网
  • 网站开发文档模板 开源网站开发小图标
  • 危险网站怎么做腾讯云认证iis搭建网站时 属于默认文档的是
  • 一建 建设网站首页wordpress导航调用分类
  • 网站一体化建设树苗网站源码
  • 无锡网站关键词优化软件咨询电商平台开发项目
  • 邮箱域名和网站域名嘉定企业网站制作
  • 美辰网站建设专业外贸网站建设_诚信_青岛
  • 5个常见的电子商务网站有没有做网站兼职
  • 湖北省建设工程造价管理站网站和城乡建设部网站
  • 网站建设中的思想和算法分类目录网站大全
  • 网站制作商处理营销型网站建设策划的几个误区
  • 国外免费推广网站百度数据库
  • wordpress创建分站点sp怎么做视频网站
  • 网站开发移动端多少钱wordpress h1 h2 h3