专栏首页Zaqdt_ACM牛客寒假算法基础集训营5 I. 炫酷镜子(模拟)

牛客寒假算法基础集训营5 I. 炫酷镜子(模拟)

题目链接:https://ac.nowcoder.com/acm/contest/331/I

       按找题意模拟就好了...代码略丑,不想改了...


AC代码:

#include <bits/stdc++.h>
using namespace std;
string str[505];
int n,m,pos;
bool flag;
 
void dfs(int x,int y,int h){
  while(1){
    if(x == -1 || y == -1 || x == n || y == m){
      if(x == n) flag = true, pos = y + 1;
      break;
    }
    // cout<<x<<"  "<<y<<endl;
    while(x >= 0 && y >= 0 && x < n && y < m && str[x][y] != '.'){
      // cout<<x<<"  "<<y<<endl;
      if(str[x][y] == '/'){
        if(h == 0){ y = y - 1, h = 2; continue;}
        if(h == 1){ y = y + 1, h = 3; continue;}
        if(h == 2){ x = x + 1, h = 0; continue;}
        if(h == 3){ x = x - 1, h = 1; continue;}
        // continue;
      }
      if(str[x][y] == '\\'){
        if(h == 0){ y = y + 1; h = 3; continue;}
        if(h == 1){ y = y - 1; h = 2; continue;}
        if(h == 2){ x = x - 1; h = 1; continue;}
        if(h == 3){ x = x + 1; h = 0; continue;}
      }
      // cout<<x<<"  "<<y<<endl;
    }
    // cout<<x<<"  "<<y<<endl;
    if(x >= 0 && y >= 0 && x < n && y < m && str[x][y] == '.'){
      if(h == 0)x = x + 1;
      if(h == 1)x = x - 1;
      if(h == 2)y = y - 1;
      if(h == 3)y = y + 1;
    }
  }
}
 
int main()
{
  scanf("%d%d",&n,&m);
  for(int i=0;i<n;i++){
    cin>>str[i];
  }
  for(int i=0;i<m;i++){
    flag = false;
    dfs(0,i,0);
    if(flag == true)cout<<pos<<endl;
    else puts("-1");
  }
  return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Codeforces Round #530 (Div. 2) C. Postcard(构造)

    题目链接:http://codeforces.com/contest/1099/problem/C

    Ch_Zaqdt
  • Codeforces Round #512 Div. 2 A,B,C Vasya and Golden Ticket

    题目链接:http://codeforces.com/contest/1058/problem/A

    Ch_Zaqdt
  • Codeforces Round #504 B. Pair of Toys(思维)

    题目链接:http://codeforces.com/contest/1023/problem/B

    Ch_Zaqdt
  • R语言写2048游戏

           2048 是一款益智游戏,只需要用方向键让两两相同的数字碰撞就会诞生一个翻倍的数字,初始数字由 2 或者 4 构成,直到游戏界面全部被填满,游戏结...

    用户1680321
  • 【趣解编程】条件语句if

    遇见if,就是走到了分岔路口,需要根据当前拥有的条件和环境,来决断到底要走哪一条路。

    一斤代码
  • 终于让采集侠自动采集了

    用织梦采集侠一段时间了,觉得这个插件真的不错,尤其是新版本,可以结合DEDE自动的采集规则来进行采集。一下采集功能就非常强大了。

    用户1191760
  • Sphinx源码学习笔记(一):索引创建

      因为项目开发需要在游戏内部实现玩家名称的模糊查找功能,本身直接使用Sphinx配置mysql可以直接搭建一套模糊匹配的即可支持功能的实现。

    dylan_若水
  • 【python系统学习04】条件判断语句

    学过 js 的你,看到这个肯定小 case 吧!肯定第一时间得到答案,打印出“1”吧!

    xing.org1^
  • 房上的猫:if选择结构

    一.基本if结构: ? ?  1.定义:if选择结构是根据条件判断之后再做处理的一种语法结构!  2.逻辑:首先对条件进行判断   >如果为真,则执行代码块 ...

    房上的猫
  • 你写的代码就是你的犯罪证据

    过程中,我发现一个特别有意思的东西,我重构了很多的 if 语句。从这些 if 语句里,大抵是映射出了业务的变化。于是,我便想写一篇文章来记录一下相关的心得。

    Phodal

扫码关注云+社区

领取腾讯云代金券