Submission #409310

#TimeUsernameProblemLanguageResultExecution timeMemory
409310MOUF_MAHMALATBridges (APIO19_bridges)C++14
13 / 100
42 ms3020 KiB
#include<bits/stdc++.h>
#define all(s) s.begin(),s.end()
#define F first
#define S second
using namespace std;
typedef int ll;
ll n,m,x,y,z,q,t,ans;
pair<ll,ll>p[1009],id[1009];
bool b[1009];
vector<vector<pair<ll,ll> > >v;
void dfs(ll d)
{
    b[d]=1,ans++;
    //cout<<d<<" ";
    for(auto z:v[d])
        if(b[z.F]==0&&z.S>=y)
            dfs(z.F);
}
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    cin>>n>>m;
    v.resize(n+1);
    for(ll i=1; i<=m; i++)
    {
        cin>>x>>y>>z;
        ll x1=v[x].size(),y1=v[y].size();
        p[i]= {x,y},id[i]= {x1,y1};
        v[x].push_back({y,z});
        v[y].push_back({x,z});
    }
    cin>>q;
    while(q--)
    {
        cin>>t>>x>>y;
        if(t==1)
        {
            v[ p[x].F ][ id[x].F ].S=y;
            v[ p[x].S ][ id[x].S ].S=y;
        }
        else
        {
            memset(b,0,sizeof b);
            ans=0,dfs(x);
            cout<<ans<<"\n";
        }
    }
    return 0;
}
#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...