题意
思路
dfs
代码
class Solution {
public:
vector<int> baseUnitConversions(vector<vector<int>>& conversions) {
vector<int> ans(conversions.size() + 1, 0);
ans[0] = 1;
map<int, map<int, int>> visit;
for (auto &index : conversions) {
visit[index[0]][index[1]] = index[2];
}
const long mod = 1000000000 + 7;
queue<int> Q;
Q.push(0);
while (!Q.empty()){
auto &index = Q.front();
// cout << ans.size() << endl;
for (auto &it : visit[index]) {
// cout << it.first <<" " << index <<" "<< it.second << endl;
ans[it.first] = (ans[index] % mod)* (it.second % mod) % mod;
Q.push(it.first);
}
Q.pop();
}
return ans;
}
};
337



被折叠的 条评论
为什么被折叠?



