zoukankan      html  css  js  c++  java
  • leetcode 789. Escape The Ghosts

    You are playing a simplified Pacman game. You start at the point (0, 0), and your destination is (target[0], target[1]). There are several ghosts on the map, the i-th ghost starts at (ghosts[i][0], ghosts[i][1]).

    Each turn, you and all ghosts simultaneously may move in one of 4 cardinal directions: north, east, west, or south, going from the previous point to a new point 1 unit of distance away.

    You escape if and only if you can reach the target before any ghost reaches you (for any given moves the ghosts may take.) If you reach any square (including the target) at the same time as a ghost, it doesn't count as an escape.

    Return True if and only if it is possible to escape.

    Example 1:
    Input: 
    ghosts = [[1, 0], [0, 3]]
    target = [0, 1]
    Output: true
    Explanation: 
    You can directly reach the destination (0, 1) at time 1, while the ghosts located at (1, 0) or (0, 3) have no way to catch up with you.
    Example 2:
    Input: 
    ghosts = [[1, 0]]
    target = [2, 0]
    Output: false
    Explanation: 
    You need to reach the destination (2, 0), but the ghost at (1, 0) lies between you and the destination.
    Example 3:
    Input: 
    ghosts = [[2, 0]]
    target = [1, 0]
    Output: false
    Explanation: 
    The ghost can reach the target at the same time as you.
    

    题目大意:你从起点坐标要到大目标坐标,但是一些怪物会拦截你。怪物可以原地不动也可以向四个方向走。问你能不能走到目标坐标。
    思路:一开始没注意到怪物可以不动,一直在想bfs怎么解决这道题目...我愚蠢了。其实只要怪物比你晚到目标点,你就能胜利....

    class Solution {
    public:
        bool escapeGhosts(vector<vector<int>>& ghosts, vector<int>& target) {
            int dist=abs(target[0])+abs(target[1]);
            for(auto g:ghosts)
            {
                int d=abs(target[0]-g[0])+abs(target[1]-g[1]);
                if(d<=dist) return 0;
            }
            return 1;
        }
    };
    
  • 相关阅读:
    如何写一个计算器?
    Web-Scale IT 我之见!
    Django 安全策略的 7 条总结!
    运维安全系列基础服务之 FTP 服务(系列一)
    程序复杂度之圈复杂度
    微信小程序的wx-charts插件-tab选项卡
    微信小程序的wx-charts插件-tab选项卡
    小程序请假效果
    HTTP状态码
    解决微信小程序使用wxcharts在屏幕不固定问题-开发工具里也显示好了布局,为啥到真机就是乱的
  • 原文地址:https://www.cnblogs.com/pk28/p/8470237.html
Copyright © 2011-2022 走看看