Submission #44974527
Source Code Expand
#include <bits/stdc++.h>
#define rep(i, n) for(int i=0;i<(int)(n);i++)
#define pb(a) push_back(a)
#define MAX(a, b) ((a < b)?b:a)
#define MIN(a, b) ((a > b)?b:a)
#define lcm(a, b) (a / gcd(a, b) * b) // 最小公倍数
typedef long long int ll;
typedef unsigned long long int ull;
typedef unsigned int uint;
using namespace std;
// -------------------------------------
class Node;
class Connect {
public:
Connect(Node* _node, int _cost) {
node = _node;
cost = _cost;
}
Node* node;
int cost;
};
class Node {
public:
Node(int _id) {
id = _id;
}
int id;
vector<Connect> list;
};
int N, M;
Node* node_list[10 + 1];
int solve(int from, int to, vector<int> path) {
if ( from == to ) return 0;
int cost_max = -1;
path.pb(from);
for (auto con : node_list[from]->list) {
int next_node_id = con.node->id;
if (count(path.begin(), path.end(), next_node_id)) break; // 次に行くところに行ったことがあったらもう行かない
try {
int cost = solve(next_node_id, to, path) + con.cost;
if (cost_max < cost) cost_max = cost;
} catch (...) {
// この先のルートはないので何もしない
}
}
if ( cost_max == -1 ) throw 0; // 行き止まりだった場合はこのルートを使わないようにする
return cost_max;
}
int main() {
cin >> N >> M;
rep(i, N) {
node_list[i + 1] = new Node(i + 1);
}
rep(i, M) {
int a, b, c;
cin >> a >> b >> c;
node_list[a]->list.pb(Connect(node_list[b], c));
node_list[b]->list.pb(Connect(node_list[a], c));
}
vector<int> path_zero;
int ans = 0;
for (int i = 1; i <= N; i++) {
for (int j = 1; j <= N; j++) {
try {
int cost = solve(i, j, path_zero);
if ( ans < cost ) ans = cost;
} catch(...) {
// このルートはたどり着かない
}
}
}
cout << ans << endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Remembering the Days |
| User | saigo |
| Language | C++ 20 (gcc 12.2) |
| Score | 0 |
| Code Size | 1930 Byte |
| Status | WA |
| Exec Time | 18 ms |
| Memory | 3672 KiB |
Judge Result
| Set Name | Sample | All | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 0 / 300 | ||||||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, sample_01.txt, sample_02.txt, sample_03.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| random_01.txt | WA | 9 ms | 3484 KiB |
| random_02.txt | WA | 5 ms | 3596 KiB |
| random_03.txt | WA | 1 ms | 3596 KiB |
| random_04.txt | AC | 1 ms | 3480 KiB |
| random_05.txt | WA | 10 ms | 3516 KiB |
| random_06.txt | WA | 2 ms | 3508 KiB |
| random_07.txt | WA | 2 ms | 3520 KiB |
| random_08.txt | AC | 1 ms | 3536 KiB |
| random_09.txt | WA | 12 ms | 3540 KiB |
| random_10.txt | AC | 1 ms | 3532 KiB |
| random_11.txt | WA | 1 ms | 3516 KiB |
| random_12.txt | WA | 1 ms | 3580 KiB |
| random_13.txt | WA | 10 ms | 3612 KiB |
| random_14.txt | WA | 1 ms | 3672 KiB |
| random_15.txt | AC | 1 ms | 3540 KiB |
| random_16.txt | WA | 1 ms | 3512 KiB |
| random_17.txt | AC | 1 ms | 3480 KiB |
| random_18.txt | AC | 18 ms | 3544 KiB |
| random_19.txt | WA | 13 ms | 3512 KiB |
| random_20.txt | WA | 12 ms | 3524 KiB |
| random_21.txt | WA | 11 ms | 3520 KiB |
| sample_01.txt | AC | 1 ms | 3540 KiB |
| sample_02.txt | AC | 1 ms | 3516 KiB |
| sample_03.txt | WA | 2 ms | 3520 KiB |