Мне надо найти граф, являющийся объединением множества всех диаметров графа.
У меня есть взвешенный ориентированный граф, который задан матрицей смежности. Так как диаметром графа будет максимальный из кратчайших путей, то я нашел диаметр по алгоритму Флойда-Уоршелла. Но сейчас не знаю, как найти вершины, из которых состоит сам диаметр. Хотел бы узнать хотя бы примерный алгоритм действий.
Вот мой код:
int main() {
int INF;
INF = 50000;
int n;
cin >> n;
vector <vector<int>> a(n, vector<int>(n));
vector <vector <int>> f(n, vector<int>(n));
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++) {
cin >> a[i][j];
f[i][j] = a[i][j];
if ((a[i][j] == 0) && (i != j)) {
a[i][j] = INF;
}
}
for (int k = 0; k < n; k++) //floyd
for (int i = 0; i < n; i++) {
if (a[i][k] != INF) {
for (int j = 0; j < n; j++) {
if ((a[k][j] != INF) && ((a[i][j] == INF) || ((a[i][k] + a[k][j]) < a[i][j]))) {
f[i][j] = a[i][k] + a[k][j];
}
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (a[i][j] == INF) {
a[i][j] = 0;
}
cout << f[i][j] << " ";
}
cout << endl;
}
system("pause");
return 0;
}
Ребят помогите,проблемы в том что char не преобразовывается в wchar, хотя в visual studio этот же код робит, а в qt creator нет, я предполагаю что нужно сменить...
Всем приветЯ задумался о создании своего "игрушечного" яп, чисто для того, чтобы убить время
мне нужно распарсить json файл, в котором встречаются русские названияНо при парсинге ошибка
Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение