c_cpp LeetCode - 等式方程的可满足性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp LeetCode - 等式方程的可满足性相关的知识,希望对你有一定的参考价值。
// https://leetcode.com/problems/satisfiability-of-equality-equations/
class Solution {
public:
void DFS(vector< vector<int> > g, int s, map<int,bool> &visited,
vector<int> &color,int &gcount)
{
visited[s]=true;
color[s]=gcount;
for(int i=0;i<g[s].size();i++){
if(!visited[g[s][i]]){
DFS(g,g[s][i],visited,color,gcount);
}
}
}
bool equationsPossible(vector<string> equations) {
vector< vector<int> > g(26);
for(int i=0;i<equations.size();i++){
if(equations[i][1] == '='){
g[equations[i][0]-'a'].push_back(equations[i][3]-'a');
g[equations[i][3]-'a'].push_back(equations[i][0]-'a');
}
}
map<int,bool> visited;
int gcount=0;
vector<int> color(26,-1);
for(int i=0;i<26;i++){
if(!visited[i]){
gcount++;
DFS(g,i,visited,color,gcount);
}
}
for(int i=0;i<equations.size();i++){
if(equations[i][1] == '!'){
if(equations[i][0] == equations[i][3]){
return false;
}
if(color[equations[i][0]-'a'] == color[equations[i][3]-'a']){
return false;
}
}
}
return true;
}
};
以上是关于c_cpp LeetCode - 等式方程的可满足性的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 990. 等式方程的可满足性 | Python
leetcode每日一题(2020-06-07):990. 等式方程的可满足性
leetcode每日一题(2020-06-07):990. 等式方程的可满足性
LeetCode1707. 与数组中元素的最大异或值 (字典树)/ 990. 等式方程的可满足性(并查集)
990. 等式方程的可满足性 - medium
方程:方程(equation)是指含有未知数的等式