제출 #934033

#제출 시각아이디문제언어결과실행 시간메모리
934033vjudge1다리 (APIO19_bridges)C++98
0 / 100
27 ms3164 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;

struct tpos{
    int x, w, pos;
};

int n, m, q, cnt;
vector<vector<tpos>> adj;
int from[1000], to[1000], peso[1000];
bool used[1000];

void busca(int node, int &w){
    used[node]=1;
    cnt++;
    for(tpos it: adj[node]){
        if(used[it.x]==0 && w<=it.w)
            busca(it.x, w);
    }
}

void solve(){
    cin>> n>> m;
    adj.resize(n+1);
    for(int i=0; i<m; i++){
        cin>> from[i]>> to[i]>> peso[i];
        from[i]--;
        to[i]--;
        adj[from[i]].push_back({to[i], peso[i], i});
        adj[to[i]].push_back({from[i], peso[i], i});
    }
    
    cin>> q;
    int t, a, b;
    for(int i=0; i<q; i++){
        cin>> t>> a>> b;
        if(t==1){
            a--;
            for(int j=0; j<adj[from[a]].size(); j++){
                if(adj[from[a]][j].pos==a){
                    adj[from[a]][j].w=b;
                    break;
                }
            }
            for(int j=0; j<adj[to[a]].size(); j++){
                if(adj[to[a]][j].x==from[a]){
                    adj[to[a]][j].w=b;
                    break;
                }
            }
        }
        else{
            cnt=0;
            a--;
            busca(a, b);
            cout<< cnt<< "\n";
            memset(used, 0, sizeof(used));
        }
    }
}

int main(){
    ios_base::sync_with_stdio(0); cin.tie(0);
    cin.tie(0);
    int t=1;
    //cin>> t;
    while(t--){
        solve();
    }
    return 0;
}

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

bridges.cpp: In function 'void solve()':
bridges.cpp:41:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<tpos>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |             for(int j=0; j<adj[from[a]].size(); j++){
      |                          ~^~~~~~~~~~~~~~~~~~~~
bridges.cpp:47:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<tpos>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |             for(int j=0; j<adj[to[a]].size(); j++){
      |                          ~^~~~~~~~~~~~~~~~~~
#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...