Submission #4031928


Source Code Expand

#include <iostream>
#include <cstdlib>
#include <algorithm>

using namespace std;

int main(void) {
  int n, m, rmax;
  cin >> n >> m >> rmax;
  int r[8];
  for (int i = 0; i < rmax; i++) {
    cin >> r[i];
    r[i]--;
  }
  int dist[200][200];
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      if (i == j) {
        dist[i][j] = 0;
      } else {
        dist[i][j] = 1e8;
      }
    }
  }
  for (int i = 0; i < m; i++) {
    int a, b, c;
    cin >> a >> b >> c;
    dist[a - 1][b - 1] = c;
    dist[b - 1][a - 1] = c;
  }

  for (int k = 0; k < m; k++) {
    for (int i = 0; i < m; i++) {
      for (int j = 0; j < m; j++) {
        dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
      }
    }
  }
  /*
  for (int i = 0; i < m; i++) {
    for (int j = 0; j < m; j++) {
      cout << dist[i][j] << " ";
    }
    cout << endl;
  }
  cout << "---------------" << endl;
  */

  sort(r, r + rmax);
  int ans = 1e8;
  do {
    int progress = 0;
    for (int i = 0; i + 1 < rmax; i++) {
      int from = r[i];
      int to = r[i + 1];
      int d = dist[from][to];
      progress += d;
    }
    ans = min(ans, progress);
  } while (next_permutation(r, r + rmax));
  cout << ans << endl;
  return EXIT_SUCCESS;
}

Submission Info

Submission Time
Task A - September 9
User amayaw9
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1303 Byte
Status WA
Exec Time 1 ms
Memory 384 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status
WA × 3
WA × 9
Set Name Test Cases
Sample sample01.txt, sample02.txt, sample03.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, sample01.txt, sample02.txt, sample03.txt
Case Name Status Exec Time Memory
01.txt WA 1 ms 384 KB
02.txt WA 1 ms 256 KB
03.txt WA 1 ms 256 KB
04.txt WA 1 ms 256 KB
05.txt WA 1 ms 256 KB
06.txt WA 1 ms 256 KB
sample01.txt WA 1 ms 256 KB
sample02.txt WA 1 ms 256 KB
sample03.txt WA 1 ms 384 KB