Language: C++

#include<vector>
#include<queue>
#include<iostream>
#include<algorithm>
using namespace std;
#define MAX_V 101
#define MAX_E 3001
#define INF 1e9
using namespace std;
int cost[MAX_V][MAX_V];
int time[MAX_V][MAX_V];
int cost_d[MAX_V];
int time_d[MAX_V];
bool used[MAX_V];
int V;
int E;

void cost_dijkstra(int s) {
	for (int i = 0; i < V; i++) {
		cost_d[i] = INF;
		used[i] = false;
	}
	cost_d[s] = 0;
	
	while (true) {
		int v = -1;
		for (int u = 0; u < V; u++) {
			if (!used[u] && (v == -1 || cost_d[u] < cost_d[v])) {
				v = u;
			}
		}
		//全ての頂点が到達済み
		if (v == -1) {
			break;
		}
		//集合に新たに頂点を追加
		used[v] = true;
		for (int u = 0; u < V; u++) {
			if (cost[v][u] != -1) {
				cost_d[u] = min(cost_d[u], cost_d[v] + cost[v][u]);
			}
		}

	}
}
void time_dijkstra(int s) {
	for (int i = 0; i < V; i++) {
		time_d[i] = INF;
		used[i] = false;
	}
	time_d[s] = 0;

	while (true) {
		int v = -1;
		for (int u = 0; u < V; u++) {
			if (!used[u] &&( v == -1 || time_d[u] < time_d[v])) {
				v = u;
			}
		}
		//全ての頂点が到達済み
		if (v == -1) {
			break;
		}
		//集合に新たに頂点を追加
		used[v] = true;
		for (int u = 0; u < V; u++) {
			if (cost[v][u] != -1) {
				time_d[u] = min(time_d[u], time_d[v] + cost[v][u]);
			}
		}

	}
}

int main() {


	while (cin >> E >> V, (E != 0 && V != 0)) {
		for (int i = 0; i < V; i++) {
			for (int j = 0; j < V; j++) {
				cost[i][j] = -1;
				time[i][j] = -1;
			}
		}
		
		for (int i = 0; i < E; i++) {
			int a, b;
			cin >> a >> b;
			cin >> cost[a-1][b-1] >> time[a-1][b-1];
		}
	
		int k;//クエリの数
		cin >> k;
		
		for(int i=0;i<k;i++){
			int p, q, r;
			cin >> p>>q>>r;
			
			//cost
			if (r == 0) {
				cost_dijkstra(p-1);
				cout << cost_d[q-1] << endl;
			}
			//time
			else if(r==1){

				time_dijkstra(p-1);
				cout << time_d[q-1] << endl;
			}
			
		}
	}
	return 0;
}











Compiler output:
a.cc:11:22: error: 'int time [101][101]' redeclared as different kind of entity
   11 | int time[MAX_V][MAX_V];
      |                      ^
In file included from /usr/include/pthread.h:23,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/gthr-default.h:35,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/gthr.h:157,
                 from /usr/include/c++/14/ext/atomicity.h:35,
                 from /usr/include/c++/14/bits/ios_base.h:39,
                 from /usr/include/c++/14/ios:44,
                 from /usr/include/c++/14/ostream:40,
                 from /usr/include/c++/14/iostream:41,
                 from a.cc:3:
/usr/include/time.h:76:15: note: previous declaration 'time_t time(time_t*)'
   76 | extern time_t time (time_t *__timer) __THROW;
      |               ^~~~
a.cc: In function 'int main()':
a.cc:82:39: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   82 |                                 time[i][j] = -1;
      |                                       ^
a.cc:82:42: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   82 |                                 time[i][j] = -1;
      |                                          ^
a.cc:82:44: error: assignment of read-only location '*(time + (((sizetype)i) + ((sizetype)j)))'
   82 |                                 time[i][j] = -1;
      |                                 ~~~~~~~~~~~^~~~
a.cc:89:58: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   89 |                         cin >> cost[a-1][b-1] >> time[a-1][b-1];
      |                                                          ^
cc1plus: warning: pointer to a function used in arithmetic [-Wpointer-arith]
a.cc:89:63: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   89 |                         cin >> cost[a-1][b-1] >> time[a-1][b-1];
      |                                                               ^
cc1plus: warning: pointer to a function used in arithmetic [-Wpointer-arith]
a.cc:89:47: error: no match for 'operator>>' (operand types are 'std::basic_istream<char>::__istream_type' {aka 'std::basic_istream<char>'} and 'time_t(time_t*) noexcept' {aka 'long int(long int*) noexcept'})
   89 |                         cin >> cost[a-1][b-1] >> time[a-1][b-1];
      |                         ~~~~~~~~~~~~~~~~~~~~~ ^~ ~~~~~~~~~~~~~~
      |                             |                                 |
      |                             |                                 time_t(time_t*) noexcept {aka long int(long int*) noexcept}
      |                             std::basic_istream<char>::__istream_type {aka std::basic_istream<char>}
In file included from /usr/include/c++/14/iostream:42:
/usr/include/c++/14/istream:170:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  170 |       operator>>(bool& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:170:7: note:   conversion of argument 1 would be ill-formed:
a.cc:89:63: error: cannot bind non-const lvalue reference of type 'bool&' to a value of type 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'}
   89 |                         cin >> cost[a-1][b-1] >> time[a-1][b-1];
      |                                                  ~~~~~~~~~~~~~^
/usr/include/c++/14/istream:174:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>]' (near match)
  174 |       operator>>(short& __n);
      |       ^~~~~~~~
/usr/include/c++/14/istream:174:7: note:   conversion of argument 1 would be ill-formed:
a.cc:89:63: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'short int' [-fpermissive]
   89 |                         cin >> cost[a-1][b-1] >> time[a-1][b-1];
      |                                                  ~~~~~~~~~~~~~^
      |                                                               |
      |                                                               time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:89:63: error: cannot bind rvalue '(short int)(time + ((((sizetype)a) + ((sizetype)b)) + 18446744073709551614))' to 'short int&'
/usr/include/c++/14/istream:177:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  177 |       operator>>(unsigned short& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:177:7: note:   conversion of argument 1 would be ill-formed:
a.cc:89:63: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'short unsigned int' [-fpermissive]
   89 |                         cin >> cost[a-1][b-1] >> time[a-1][b-1];
      |                                                  ~~~~~~~~~~~~~^
      |                                                               |
      |                                                               time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:89:63: error: cannot bind rvalue '(short unsigned int)(time + ((((sizetype)a) + ((sizetype)b)) + 18446744073709551614))' to 'short unsigned int&'
/usr/include/c++/14/istream:181:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>]' (near match)
  181 |       operator>>(int& __n);
      |       ^~~~~~~~
/usr/include/c++/14/istream:181:7: note:   conversion of argument 1 would be ill-formed:
a.cc:89:63: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'int' [-fpermissive]
   89 |                         cin >> cost[a-1][b-1] >> time[a-1][b-1];
      |                                                  ~~~~~~~~~~~~~^
      |                                                               |
      |                                                               time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:89:63: error: cannot bind rvalue '(int)(time + ((((sizetype)a) + ((sizetype)b)) + 18446744073709551614))' to 'int&'
/usr/include/c++/14/istream:184:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  184 |       operator>>(unsigned int& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:184:7: note:   conversion of argument 1 would be ill-formed:
a.cc:89:63: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'unsigned int' [-fpermissive]
   89 |                         cin >> cost[a-1][b-1] >> time[a-1][b-1];
      |                                                  ~~~~~~~~~~~~~^
      |                                                               |
      |                                                               time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:89:63: error: cannot bind rvalue '(unsigned int)(time + ((((sizetype)a) + ((sizetype)b)) + 18446744073709551614))' to 'unsigned int&'
/usr/include/c++/14/istream:188:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  188 |       operator>>(long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:188:7: note:   conversion of argument 1 would be ill-formed:
a.cc:89:63: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'long int' [-fpermissive]
   89 |                         cin >> cost[a-1][b-1] >> time[a-1][b-1];
      |                                                  ~~~~~~~~~~~~~^
      |                                                               |
      |                                                               time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:89:63: error: cannot bind rvalue '(long int)(time + ((((sizetype)a) + ((sizetype)b)) + 18446744073709551614))' to 'long int&'
/usr/include/c++/14/istream:192:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  192 |       operator>>(unsigned long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:192:7: note:   conversion of argument 1 would be ill-formed:
a.cc:89:63: error: invalid conversion from 'time_t (*)(time_t*) noexcept' {aka 'long int (*)(long int*) noexcept'} to 'long unsigned int' [-fpermissive]
   89 |                         cin >> cost[a-1][b-1] >> time[a-1][b-1];
      |                                                  ~~~~~~~~~~~~~^
      |                                                               |
      |                                                               time_t (*)(time_t*) noexcept {aka long int (*)(long int*) noexcept}
a.cc:89:63: error: cannot bind rvalue '(long unsigned int)(time + ((((sizetype)a) + ((sizetype)b)) + 18446744073709551614))' to 'long unsigned int&'
/usr/include/c++/14/istream:199:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  199 |       operator>>(long long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:199:7: note:   conversion of argument 1 would be ill-formed:
a.cc