Дан граф. укажи количество точек сочленения и мостов этого графа. перечисли порядок обхода его с алгоритма поиск в ширину(ответ запиши с больших букв через запятую с пробелом). начало обхода будет вершина а. а также опиши кратчайший путь из вершины f в вершину c и укажи его длину.♥♥♥
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int> v(n);
for (int i = 0; i < n; ++i){
cin >> v[i];
}
for (int i = 0; i < n; ++i){
bool flag = false;
for (int j = 0; j < i; ++j){
if (v[i] == v[j]){
flag = true;
}
}
for (int j = i + 1; j < n; ++j){
if (v[i] == v[j]){
flag = true;
}
}
if (flag == false){
cout << v[i] << " ";
}
}
return 0;
}
Объяснение:
что не может быть одновременно x1=0 y1=0 z1=0
рассмотрим первое уравнение, это логическое умножение, каждый сомножитель должен быть равен 1, такое будет, если:
(не х1 + х2) * (не х2 +х3) *(не х3 +х4) * ( не х4 +х5) = 1
1 1 1 1 1 1 1 1
0 0 0 0 1 1 (2реш) 1 1 (3 решения)
0 1 0 1 0 1 0 1
1 1 1 0 0 0
Итак, при х1=1 - одно решение, при х1=0 - 5 решений
Для второго ( с Y) и третьего ( сZ ) ур-я - аналогично по 5 решений.
Возможные варианты сочетаний значений х1, y1,z1 :
х1 y1 z1
0 0 0 - (четвёртое уравнение исключает это сочетание)
0 0 1 5*5*1 =25 решений
0 1 0 5*1*5 =25 реш
0 1 1 5*1*1 =5
1 0 0 1*5*5=25
1 0 1 5 реш
1 1 0 5
1 1 1 1
5+5+5+25+25+25+1 = 91 < ответ
Если ответ не верный, напишите. Буду думать.