제출 #1318820

#제출 시각아이디문제언어결과실행 시간메모리
1318820nhq0914Commuter Pass (JOI18_commuter_pass)Java
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; const int maxn = 1e5 + 7; int N, M, A, B, C, D; bool vis[maxn]; vector<pair<int, int>> ed, adj[maxn]; vector<int> dag[maxn]; struct vertex{ long long dis; int state, ver; bool operator > (const vertex &other) const {return dis > other.dis;} }; void dijkstra1(int s, vector<long long> &dis) { priority_queue<pair<long long, int>, vector<pair<long long, int>>, greater<pair<long long, int>>> q; q.push({dis[s] = 0, s}); while(!q.empty()){ auto [d, v] = q.top(); q.pop(); if(d > dis[v]) continue; for(auto &[x, w]: adj[v]){ if(d + w >= dis[x]) continue; q.push({dis[x] = d + w, x}); } } } long long dijkstra2(){ std::array<std::vector<long long>, 3> dis; for(int i = 0; i < 3; ++i) dis[i].assign(N + 1, (long long)1e18); std::priority_queue<vertex, std::vector<vertex>, std::greater<vertex>> pq; pq.push({dis[0][C] = 0, 0, C}); while(!pq.empty()){ auto [d, s, v] = pq.top(); pq.pop(); if(d > dis[s][v]) continue; if(s == 1){ for(int &x: dag[v]){ if(d >= dis[1][x]) continue; pq.push({dis[1][x] = d, 1, x}); } } else{ for(auto &[x, w]: adj[v]){ if(d + w >= dis[s][x]) continue; pq.push({dis[s][x] = d + w, s, x}); } } if(s < 2 && dis[s + 1][v] > d){ pq.push({dis[s + 1][v] = d, s + 1, v}); } } return dis[2][D]; } int main() { // freopen("data.txt", "r", stdin); // freopen("path.inp", "r", stdin); // freopen("path.out", "w", stdout); ios_base::sync_with_stdio(false); cin.tie(nullptr); cin >> N >> M >> A >> B >> C >> D; for(int u, v, w; M--;){ cin >> u >> v >> w; adj[u].emplace_back(v, w); adj[v].emplace_back(u, w); } vector <long long> fromA(N + 1, (long long)1e18); dijkstra1(A, fromA); { queue<int> q; q.push(B); vis[B] = true; while(!q.empty()) { int v = q.front(); q.pop(); for(auto &[x, w]: adj[v]){ if(fromA[v] - w != fromA[x]) continue; ed.emplace_back(x, v); if(!vis[x]) vis[x] = true, q.push(x); } } } for(auto &[u, v]: ed) dag[u].push_back(v); long long ans = dijkstra2(); for(int i = 1; i <= N; ++i) dag[i].clear(); for(auto &[u, v]: ed) dag[v].push_back(u); ans = min(ans, dijkstra2()); cout << ans; return 0; }

컴파일 시 표준 에러 (stderr) 메시지

commuter_pass.java:1: error: illegal character: '#'
#include <bits/stdc++.h>
^
commuter_pass.java:1: error: class, interface, enum, or record expected
#include <bits/stdc++.h>
         ^
commuter_pass.java:4: error: class, interface, enum, or record expected
const int maxn = 1e5 + 7;
^
commuter_pass.java:6: error: class, interface, enum, or record expected
int N, M, A, B, C, D;
^
commuter_pass.java:7: error: class, interface, enum, or record expected
bool vis[maxn];
^
commuter_pass.java:9: error: class, interface, enum, or record expected
vector<pair<int, int>> ed, adj[maxn];
^
commuter_pass.java:10: error: class, interface, enum, or record expected
vector<int> dag[maxn];
^
commuter_pass.java:12: error: class, interface, enum, or record expected
struct vertex{
^
commuter_pass.java:14: error: class, interface, enum, or record expected
	int state, ver;
	^
commuter_pass.java:16: error: class, interface, enum, or record expected
	bool operator > (const vertex &other) const {return dis > other.dis;}	
	^
commuter_pass.java:16: error: class, interface, enum, or record expected
	bool operator > (const vertex &other) const {return dis > other.dis;}	
	                                                                    ^
commuter_pass.java:19: error: unnamed classes are a preview feature and are disabled by default.
void dijkstra1(int s, vector<long long> &dis) {
^
  (use --enable-preview to enable unnamed classes)
commuter_pass.java:19: error: > or ',' expected
void dijkstra1(int s, vector<long long> &dis) {
                                  ^
commuter_pass.java:22: error: class, interface, enum, or record expected
	q.push({dis[s] = 0, s});
	^
commuter_pass.java:23: error: class, interface, enum, or record expected
	while(!q.empty()){
	^
commuter_pass.java:24: error: class, interface, enum, or record expected
		auto [d, v] = q.top(); q.pop();
		                       ^
commuter_pass.java:26: error: class, interface, enum, or record expected
		if(d > dis[v]) continue;
		^
commuter_pass.java:28: error: class, interface, enum, or record expected
		for(auto &[x, w]: adj[v]){
		^
commuter_pass.java:30: error: class, interface, enum, or record expected
			q.push({dis[x] = d + w, x});
			^
commuter_pass.java:31: error: class, interface, enum, or record expected
		}
		^
commuter_pass.java:37: error: class, interface, enum, or record expected
	for(int i = 0; i < 3; ++i) dis[i].assign(N + 1, (long long)1e18);
	^
commuter_pass.java:37: error: class, interface, enum, or record expected
	for(int i = 0; i < 3; ++i) dis[i].assign(N + 1, (long long)1e18);
	               ^
commuter_pass.java:37: error: class, interface, enum, or record expected
	for(int i = 0; i < 3; ++i) dis[i].assign(N + 1, (long long)1e18);
	                      ^
commuter_pass.java:39: error: class, interface, enum, or record expected
	std::priority_queue<vertex, std::vector<vertex>, std::greater<vertex>> pq;
	^
commuter_pass.java:41: error: class, interface, enum, or record expected
	pq.push({dis[0][C] = 0, 0, C});
	^
commuter_pass.java:42: error: class, interface, enum, or record expected
	while(!pq.empty()){
	^
commuter_pass.java:44: error: class, interface, enum, or record expected
		pq.pop();
		^
commuter_pass.java:46: error: class, interface, enum, or record expected
		if(d > dis[s][v]) continue;
		^
commuter_pass.java:48: error: class, interface, enum, or record expected
		if(s == 1){
		^
commuter_pass.java:51: error: class, interface, enum, or record expected
				pq.push({dis[1][x] = d, 1, x});
				^
commuter_pass.java:52: error: class, interface, enum, or record expected
			}
			^
commuter_pass.java:57: error: class, interface, enum, or record expected
				pq.push({dis[s][x] = d + w, s, x});
				^
commuter_pass.java:58: error: class, interface, enum, or record expected
			}
			^
commuter_pass.java:62: error: class, interface, enum, or record expected
		}
		^
commuter_pass.java:66: error: class, interface, enum, or record expected
}
^
commuter_pass.java:74: error: class, interface, enum, or record expected
	cin.tie(nullptr);
	^
commuter_pass.java:76: error: class, interface, enum, or record expected
	cin >> N >> M >> A >> B >> C >> D;
	^
commuter_pass.java:77: error: class, interface, enum, or record expected
	for(int u, v, w; M--;){
	^
commuter_pass.java:77: error: class, interface, enum, or record expected
	for(int u, v, w; M--;){
	                 ^
commuter_pass.java:77: error: class, interface, enum, or record expected
	for(int u, v, w; M--;){
	                     ^
commuter_pass.java:79: error: class, interface, enum, or record expected
		adj[u].emplace_back(v, w);
		^
commuter_pass.java:80: error: class, interface, enum, or record expected
		adj[v].emplace_back(u, w);
		^
commuter_pass.java:81: error: class, interface, enum, or record expected
	}
	^
commuter_pass.java:84: error: class, interface, enum, or record expected
	dijkstra1(A, fromA);
	^
commuter_pass.java:86: error: class, interface, enum, or record expected
	{
	^
commuter_pass.java:89: error: class, interface, enum, or record expected
		q.push(B);
		^
commuter_pass.java:90: error: class, interface, enum, or record expected
		vis[B] = true;
		^
commuter_pass.java:91: error: class, interface, enum, or record expected
		while(!q.empty()) {
		^
commuter_pass.java:92: error: class, interface, enum, or record expected
			int v = q.front(); q.pop();
			                   ^
commuter_pass.java:94: error: class, interface, enum, or record expected
			for(auto &[x, w]: adj[v]){
			^
commuter_pass.java:96: error: class, interface, enum, or record expected
				ed.emplace_back(x, v);
				^
commuter_pass.java:97: error: class, interface, enum, or record expected
				if(!vis[x]) vis[x] = true, q.push(x);
				^
commuter_pass.java:98: error: class, interface, enum, or record expected
			}
			^
commuter_pass.java:103: error: class, interface, enum, or record expected
	long long ans = dijkstra2();
	^
commuter_pass.java:105: error: class, interface, enum, or record expected
	for(int i = 1; i <= N; ++i) dag[i].clear();
	^
commuter_pass.java:105: error: class, interface, enum, or record expected
	for(int i = 1; i <= N; ++i) dag[i].clear();
	               ^
commuter_pass.java:105: error: class, interface, enum, or record expected
	for(int i = 1; i <= N; ++i) dag[i].clear();
	                       ^
commuter_pass.java:106: error: class, interface, enum, or record expected
	for(auto &[u, v]: ed) dag[v].push_back(u);
	^
commuter_pass.java:107: error: class, interface, enum, or record expected
	ans = min(ans, dijkstra2());
	^
commuter_pass.java:109: error: class, interface, enum, or record expected
	cout << ans;
	^
commuter_pass.java:110: error: class, interface, enum, or record expected
	return 0;
	^
commuter_pass.java:111: error: class, interface, enum, or record expected
}
^
62 errors

=======