Pagini recente » Cod sursa (job #146277) | Cod sursa (job #1079135) | Cod sursa (job #3284410) | Cod sursa (job #1441014) | Cod sursa (job #742106)
Cod sursa(job #742106)
#include <fstream>
using namespace std;
const int N = 205;
int cost[N][N], paznic[N], n;
ifstream in("paznici2.in");
ofstream out("paznici2.out");
inline bool should_swap(int x, int y, int z, int t)
{
return cost[x][t] + cost[y][z] < cost[x][z] + cost[y][t];
}
inline void sch(int& a, int& b)
{
int c = a;
a = b;
b = c;
}
int cost_min(int cost[N][N], int nrP)
{
for (int i = 1 ; i <= nrP ; i++)
{
paznic[i] = i;
for (int j = 1 ; j < i ; j++)
if (should_swap(paznic[i], paznic[j], i, j))
sch(paznic[i], paznic[j]);
}
int rez = 0;
for (int i = 1 ; i <= n ; i++)
rez += cost[paznic[i]][i];
return rez;
}
int main()
{
in >> n;
for (int i = 1 ; i <= n ; i++)
for (int j = 1 ; j <= n ; j++)
in >> cost[i][j];
out << cost_min(cost, n) << "\n";
return 0;
}