Форум программистов, компьютерный форум CyberForum.ru

Муравьиный алгоритм - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ найти символ перехода строки http://www.cyberforum.ru/cpp-beginners/thread1013987.html
пытаюсь удалить комментарии - не выходит глючит нахождение "\n" Help!!! string deleteComments(string str) { unsigned lenght = str.length(); unsigned pos1 = 0, pos2 = 0, pos3 = 0, pos4 = 0; int w=0x0A; while ( pos1 != string::npos && pos3 != string::npos ) {
C++ написать программу,которая считает 10 чисел из файла 1.txt и запишет в новый файл максимальное из этих чисел. написать программу,которая считает 10 чисел из файла 1.txt и запишет в новый файл максимальное из этих чисел. http://www.cyberforum.ru/cpp-beginners/thread1013968.html
C++ Содержит ли текст слова, являющиеся изображением восьмеричных чисел
Здравствуйте, нужна ваша помощь. Пользователь с клавиатуры вводит текст, будь то слово или предложение, программа должна ответить есть ли в тексте слова - изображения восьмеричных чисел. Например, "Я - случайная строка 0062". В этой строке такое слово есть, нужно вывести соответствующее сообщение. Выполнить, используя string.h. Заранее огромное спасибо!
Компилятор ругается, пожалуйста исправьте! C++
Выдает 2 ошибки: Error 1 error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup Error 2 error LNK1120: 1 unresolved externals /////////////////// //Файл "123.h"// ////////////////// #ifndef __123_H #define __123_H double fun_1(double a,double b,double c,double x); double fun_2(double* a,double* c,double* x);
C++ Библиотека (dll) http://www.cyberforum.ru/cpp-beginners/thread1013946.html
Доброго времени суток!!! Помогите, пожалуйста, у меня есть программа я не могу в ней разобраться, а именно подключить библиотеку .dll... // файл math_function.h extern "C" __declspec(dllexport) double __stdcall Sum(double a, double b); extern "C" __declspec(dllexport) double __stdcall Subtract(double a, double b); extern "C" __declspec(dllexport) double __stdcall Multiply(double...
C++ Проверить наличие в списке заданного числа с помощью рекурсивной и нерекурсивной функций Помогите с кодом к данной задаче Проверить наличие в списке заданного числа с помощью рекурсивной и нерекурсивной функций. подробнее

Показать сообщение отдельно
kristi1
10 / 10 / 1
Регистрация: 07.03.2010
Сообщений: 465
21.11.2013, 09:25     Муравьиный алгоритм
Здравствуйте!
Имеется задание:
Решить задачу коммивояджера методом Марко Дориго (3 способ муравьиного алгоритма). Теоретическая часть тут:
http://vuz.exponenta.ru/PDF/MPEI/c1202/8690.pdf
Был написан подобный набросок программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
using namespace std;
const int inf=1E9,NMAX=16;
int n,i,j,k,m,temp,ans,d[NMAX][NMAX],t[1<<NMAX][NMAX];
bool get(int nmb,int x)
{ return (x&(1<<nmb))!=0; }
int main()
{
 cin >>n;
 for (i=0;i<n;++i)
  for (j=0;j<n;++j) cin>>d[i][j];
 t[1][0]=0; m=1<<n;
 for (i=1;i<m;i+=2)
  for (j=(i==1)?1:0;j<n;++j)
  {
   t[i][j]=inf;
   if (j>0 && get(j,i))
   {
    temp=i^(1<<j);
    for (k=0;k<n;++k) 
     if (get(k,i) && d[k][j]>0) t[i][j]=min(t[i][j],t[temp][k]+d[k][j]);
   }
  }
 for (j=1,ans=inf;j<n;++j)
  if (d[j][0]>0) ans=min(ans,t[m-1][j]+d[j][0]);
 if (ans==inf) cout<<-1; else cout<<ans;
}
Верно ли сделано?
Есть подозрение, что что-то не так(
Ну либо покажите другие варианты решения. Спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru