結果
| 問題 | No.3482 Quod Erat Demonstrandum |
| コンテスト | |
| ユーザー |
champignon
|
| 提出日時 | 2026-03-27 21:56:30 |
| 言語 | C++23 (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,195 bytes |
| 記録 | |
| コンパイル時間 | 3,471 ms |
| コンパイル使用メモリ | 337,952 KB |
| 実行使用メモリ | 19,740 KB |
| 最終ジャッジ日時 | 2026-03-27 21:56:52 |
| 合計ジャッジ時間 | 12,698 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 1 |
| other | WA * 37 RE * 8 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
#define rep(i, l, n) for(int i = int(l); i < int(n); ++i)
#define ll long long
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
template<class T> bool chmin(T &a, T b) {if(a > b) {a = b; return true;} return false;}
template<class T> bool chmax(T &a, T b) {if(a < b) {a = b; return true;} return false;}
template<class T> using spq = priority_queue<T, vector<T>, greater<T>>;
// bool -> Yes/No
string answer(bool b) {return b ? "Yes" : "No";}
void fix(int k) {cout << fixed << setprecision(k);}
const int inf = 1000000009;
const long long INF = 2000000000000000009;
const long double eps = 1e-12;
const long double pi = acos(-1);
int dx[] = {0, -1, 0, 1, -1, -1, 1, 1}, dy[] = {1, 0, -1, 0, 1, -1, -1, 1};
void solve() {
int N, M; cin >> N >> M;
vector<vector<int>> G[2];
rep(i, 0, 2) G[i] = vector<vector<int>>(N, vector<int>(0));
while(M--) {
int a, b, c; cin >> a >> b >> c;
if(a == 1 && b == N) {
if(c == 1) {cout << "Same\n1\n"; return;}
cout << "Different\n1\n";
return;
}
--a; --b;
G[c - 1][a].emplace_back(b);
G[c - 1][b].emplace_back(a);
}
/*vector<int> dist[2];
rep(i, 0, 2) {
dist[i] = vector<int>(N, inf);
int st = (i ? N - 1 : 0);
dist[i][st] = 0;
queue<int> q;
q.emplace(st);
while(!q.empty()) {
int v = q.front(); q.pop();
for(int u : G[0][v]) {
if(chmin(dist[i][u], dist[i][v] + 1)) q.emplace(u);
}
}
}
if(dist[0][N - 1] < inf) {
cout << "Same\n";
cout << dist[0][N - 1] << '\n';
return;
}
int mn = inf;
rep(i, 0, N) if(dist[0][i] < inf) {
for(int u : G[1][i]) {
if(dist[1][u] < inf) {
chmin(mn, 1 + dist[0][i] + dist[1][u]);
}
}
}
if(mn < inf) {
cout << "Different\n";
cout << mn << '\n';
}
else cout << "Unknown\n";*/
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T = 1;
cin >> T;
while(T--) solve();
}
champignon