首页 > 其他分享 >841. 钥匙和房间

841. 钥匙和房间

时间:2023-07-14 15:47:46浏览次数:44  
标签:room 841 房间 que rooms key 钥匙

有 n 个房间,房间按从 0 到 n - 1 编号。最初,除 0 号房间外的其余所有房间都被锁住。你的目标是进入所有的房间。然而,你不能在没有获得钥匙的时候进入锁住的房间。

当你进入一个房间,你可能会在里面找到一套不同的钥匙,每把钥匙上都有对应的房间号,即表示钥匙可以打开的房间。你可以拿上所有钥匙去解锁其他房间。

给你一个数组 rooms 其中 rooms[i] 是你进入 i 号房间可以获得的钥匙集合。如果能进入 所有 房间返回 true,否则返回 false。


示例 1:

输入:rooms = [[1],[2],[3],[]]
输出:true
解释:
我们从 0 号房间开始,拿到钥匙 1。
之后我们去 1 号房间,拿到钥匙 2。
然后我们去 2 号房间,拿到钥匙 3。
最后我们去了 3 号房间。
由于我们能够进入每个房间,我们返回 true。

> 代码


class Solution {
public:
    bool canVisitAllRooms(vector<vector<int>>& rooms) {
        int len = rooms.size();
        queue<int> que;
        vector<int> room(len,0);
        room[0] = 1;
        for(const auto &p:rooms[0]){
            que.push(p);
        }
        while(!que.empty()){
            int key = que.front();
            que.pop();
            if(room[key]){
                continue;
            }
            else{
                room[key]++;
            }
            for(const auto &p:rooms[key]){
                que.push(p);
            }
        }
        for(const auto&p : room){
            if(p == 0) return false;
        }
        return true;
    }
};

标签:room,841,房间,que,rooms,key,钥匙
From: https://www.cnblogs.com/lihaoxiang/p/17553841.html

相关文章

  • P8339 [AHOI2022] 钥匙 思考--zhengjun
    很容易考虑到计算贡献。该问题的关键在于——如何使得钥匙和宝箱的对应关系不算重Warning:有这样的二元对应关系,可以考虑一下转化为括号序列!转化为括号序列之后,发现路径上括号串的对应关系能够预处理出来。套个虚树和扫描线,就做完了。代码#include<bits/stdc++.h>using......
  • 错误:rpmdb: BDB0113 Thread/process 8709/139671674841152 failed
    rpm库报错错误:rpmdb:BDB0113Thread/process8709/139671674841152failed:BDB1507ThreaddiedinBerkeleyDBlibrary错误:db5错误(-30973)来自dbenv->failchk:BDB0087DB_RUNRECOVERY:Fatalerror,rundatabaserecovery错误:无法使用db5- (-30973)打开Packages......
  • 语音社交源码知识语音房间功能的实现
    当今,快节奏的社会为现在的很多年轻人带来了压力,每到深夜或是压力大的时候,很多人都想找人倾诉一下自己心里的悲伤与痛苦,以此来释放一下自己的压力,然而,这是一个独生子女的社会,大部分家庭都只有一个孩子,并且每天工作繁忙又加班到很晚的人根本没有时间或是精力去交朋友,所以这些人没有人......
  • 语音社交源码知识语音房间功能的实现
       当今,快节奏的社会为现在的很多年轻人带来了压力,每到深夜或是压力大的时候,很多人都想找人倾诉一下自己心里的悲伤与痛苦,以此来释放一下自己的压力,然而,这是一个独生子女的社会,大部分家庭都只有一个孩子,并且每天工作繁忙又加班到很晚的人根本没有时间或是精力去交朋友,所以这......
  • 【CF1841C 题解】
    首先,我们把\(s\)翻转。考虑dp,\(f_{i,j,k}\)表示到了第\(i\)个字符,操作了\(j\)个字符,最大的字符为\(k\)的最大值。转移时枚举\(i-1\)的最大字符\(\ell(0\le\ell<5)\)。不操作第\(i\)个字符;\(f_{i,j,k}=\max\{f_{i-1,j,\ell}+w\}\)。操作第\(i\)......
  • CodeForces 1841C Ranom Numbers
    洛谷传送门CF传送门先反转\(s\)串,然后考虑dp,设\(f_{i,j,0/1}\)为考虑了\([1,i]\),前缀最大值为\(j\),是否修改过字符的最大得分。转移讨论是否在这个位置修改即可。时间复杂度\(O(n)\)。code//Problem:C.RanomNumbers//Contest:Codeforces-Educational......
  • FTTR真能实现每个房间“真”千兆?
    FTTR真能实现每个房间“真”千兆?近年来,通信行业不断加速光带宽的升级。光接入等网络基础设施的不断完善,给我们的生活带来了便利。同时,创新的商业应用也在不断增加,如超高清视频、云VR、云游戏、在线教育等对网络带宽、时延、抖动等提出了越来越高的要求,FTTR应运而生。FTTR是千兆......
  • 【841】shapely合并多个Polygon/MultiPolygon
    参考:Convertinglistofpolygonstomultipolygonusingshapely?MultiPolygon->Polygonlistlist(multiPoly.geoms)Polygonlist->MultiPolygonshapely.geometry.MultiPolygon([poly1,poly2,poly3,poly4,poly5]) ......
  • 实验一 密码引擎-2-电子钥匙功能测试
    实验一密码引擎-3-电子钥匙功能测试1解压“龙脉密码钥匙驱动实例工具等”压缩包2在Ubuntu中运行“龙脉密码钥匙驱动实例工具等\mToken-GM3000\skf\samples\linux_mac”中例程,提交运行结果截图3加分项:运行“龙脉密码钥匙驱动实例工具等\mToken-GM3000\skf\samples\windows......
  • 实验一 密码引擎-2-电子钥匙功能测试
    0参考附件中的视频1解压"资源"中“龙脉密码钥匙驱动实例工具等”压缩包2在Ubuntu中运行“龙脉密码钥匙驱动实例工具等\mToken-GM3000\skf\samples\linux_mac”中例程,提交运行结果截图3加分项:运行“龙脉密码钥匙驱动实例工具等\mToken-GM3000\skf\samples\windows”中例程,......