牛牛正在计划吃水果的顺序。他准备吃 numFruits 种水果,编号从 0 到 numFruits – 1。 在吃某些水果之前,有一些先决条件需要满足。先决条件以数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] 表示在吃水果 ai 之前必须先吃水果 bi。 例如,先决条件 [0, 1] 表示:在吃水果 0 前,必须先吃水果 1。 请你判断是否可能按照要求完成所有水果的吃法。如果可能,返回 true;否则,返回 false。
区块链毕设网qklbishe.com为您提供问题的解答
牛牛正在计划吃水果的顺序。他准备吃 numFruits 种水果,编号从 0 到 numFruits – 1。
在吃某些水果之前,有一些先决条件需要满足。先决条件以数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] 表示在吃水果 ai 之前必须先吃水果 bi。
例如,先决条件 [0, 1] 表示:在吃水果 0 前,必须先吃水果 1。
请你判断是否可能按照要求完成所有水果的吃法。如果可能,返回 true;否则,返回 false。
拓扑排序
bool canEatAllFruits(int numFruits, vector<vector<int> >& prerequisites) { // write code here vector<int> count(numFruits,0); //记录每个水果的先决个数 stack<int> table; int num = 0; unordered_map<int,unordered_set<int>>rela; //记录果子是其他哪些果子的先决条件 for(vector<int>& p : prerequisites) { count[p[0]]++; rela[p[1]].insert(p[0]); } for(int i = 0;i<numFruits;++i) if(count[i] == 0) table.push(i); while(!table.empty()) { int t = table.top(); table.pop(); ++num; for(int val : rela[t]) { --count[val]; if(count[val] == 0) //先决条件果子被吃完了,可以加入到table中去 table.push(val); } } if(numFruits == num) //所有果子都遍历了 return true; return false; }
45:22
以上就是关于问题牛牛正在计划吃水果的顺序。他准备吃 numFruits 种水果,编号从 0 到 numFruits – 1。 在吃某些水果之前,有一些先决条件需要满足。先决条件以数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] 表示在吃水果 ai 之前必须先吃水果 bi。 例如,先决条件 [0, 1] 表示:在吃水果 0 前,必须先吃水果 1。
请你判断是否可能按照要求完成所有水果的吃法。如果可能,返回 true;否则,返回 false。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训
从业7年-专注一级市场
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 牛牛正在计划吃水果的顺序。他准备吃 numFruits 种水果,编号从 0 到 numFruits – 1。 在吃某些水果之前,有一些先决条件需要满足。先决条件以数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] 表示在吃水果 ai 之前必须先吃水果 bi。 例如,先决条件 [0, 1] 表示:在吃水果 0 前,必须先吃水果 1。
请你判断是否可能按照要求完成所有水果的吃法。如果可能,返回 true;否则,返回 false。
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 牛牛正在计划吃水果的顺序。他准备吃 numFruits 种水果,编号从 0 到 numFruits – 1。 在吃某些水果之前,有一些先决条件需要满足。先决条件以数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] 表示在吃水果 ai 之前必须先吃水果 bi。 例如,先决条件 [0, 1] 表示:在吃水果 0 前,必须先吃水果 1。
请你判断是否可能按照要求完成所有水果的吃法。如果可能,返回 true;否则,返回 false。
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 牛牛正在计划吃水果的顺序。他准备吃 numFruits 种水果,编号从 0 到 numFruits – 1。 在吃某些水果之前,有一些先决条件需要满足。先决条件以数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] 表示在吃水果 ai 之前必须先吃水果 bi。 例如,先决条件 [0, 1] 表示:在吃水果 0 前,必须先吃水果 1。
请你判断是否可能按照要求完成所有水果的吃法。如果可能,返回 true;否则,返回 false。
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 牛牛正在计划吃水果的顺序。他准备吃 numFruits 种水果,编号从 0 到 numFruits – 1。 在吃某些水果之前,有一些先决条件需要满足。先决条件以数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] 表示在吃水果 ai 之前必须先吃水果 bi。 例如,先决条件 [0, 1] 表示:在吃水果 0 前,必须先吃水果 1。 请你判断是否可能按照要求完成所有水果的吃法。如果可能,返回 true;否则,返回 false。