제출 #1143321

#제출 시각아이디문제언어결과실행 시간메모리
1143321SmuggingSpun다리 (APIO19_bridges)C++20
13 / 100
45 ms328 KiB
#include<bits/stdc++.h>
#define taskname "B"
using namespace std;
int n, m, q;
namespace sub1{
	void solve(){
		vector<int>u(m + 1), v(m + 1), w(m + 1);
		vector<vector<int>>g(n + 1);
		for(int i = 1; i <= m; i++){
			cin >> u[i] >> v[i] >> w[i];
			g[u[i]].emplace_back(i);
			g[v[i]].emplace_back(i);
		}
		cin >> q;
		for(int _ = 0; _ < q; _++){
			int _t, a, b;
			cin >> _t >> a >> b;
			if(_t == 1){
				w[a] = b;
			}
			else{
				vector<bool>vis(n + 1, false);
				vis[a] = true;
				queue<int>Q;
				Q.push(a);
				int ans = 1;
				while(!Q.empty()){
					int i = Q.front();
					Q.pop();
					for(int& index : g[i]){
						int j = u[index] ^ v[index] ^ i;
						if(w[index] >= b && !vis[j]){
							ans++;
							vis[j] = true;
							Q.push(j);
						}
					}
				}
				cout << ans << "\n";
			}
		}
	}
}
int main(){
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	if(fopen(taskname".inp", "r")){
		freopen(taskname".inp", "r", stdin);
	}
	cin >> n >> m;
	if(n <= 1000 && m <= 1000){
		sub1::solve();
	}
}

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

bridges.cpp: In function 'int main()':
bridges.cpp:47:24: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   47 |                 freopen(taskname".inp", "r", stdin);
      |                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...