#include<bits/stdc++.h>
#define ll long long
#define F first
#define S second
#define in insert
#define pb push_back
#define ppb pop_back()
#define d3 ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define cans cout << ans << "\n";
#define yes cout << "Yes" << "\n";
#define no cout << "No" << "\n";
#define pll pair<ll,ll>
#define lin cout << "\n";
#define sqr 340
#define mod 1000000007
#define mid ((l+r)/2)
#define lc (2*n)
#define rc (2*n+1)
using namespace std;
ll fp(ll x , ll y)
{
if(y==0)
return 1;
ll z = fp(x,y/2);
if(y&1)
return z*z%mod*x%mod;
else
return z*z%mod;
}
int sqrot(ll x)
{
int l = 0 , r = INT_MAX;
while(l<=r)
{
if(mid*mid>=x)
r=mid-1;
else
l=mid+1;
}
return r+1;
}
ll cel(ll x , ll y)
{
return x/y + bool(x%y);
}
ll n , m;
multiset<pll> adj[50009];
bool vis[1009];
pll ed[100009];
ll val[100009];
ll ans;
void dfs(ll n , ll w)
{
if(vis[n])
return;
vis[n]=1;
ans++;
for(auto it : adj[n])
{
if(it.S>=w)
dfs(it.F,w);
}
}
int main()
{
d3
cin >> n >> m;
for(int i = 1 ; m>=i ; i++)
{
cin >> ed[i].F >> ed[i].S >> val[i];
adj[ed[i].F].in({ed[i].S,val[i]});
adj[ed[i].S].in({ed[i].F,val[i]});
}
ll q;
cin >> q;
while(q--)
{
ll t;
cin >> t;
if(t==1)
{
ll i , w;
cin >> i >> w;
adj[ed[i].F].erase(adj[ed[i].F].find({ed[i].S,val[i]}));
adj[ed[i].S].erase(adj[ed[i].S].find({ed[i].F,val[i]}));
val[i]=w;
adj[ed[i].F].in({ed[i].S,val[i]});
adj[ed[i].S].in({ed[i].F,val[i]});
}
else
{
ll idx , w;
cin >> idx >> w;
memset(vis,0,sizeof(vis));
ans=0;
dfs(idx,w);
cans
}
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
4952 KB |
Output is correct |
2 |
Correct |
1 ms |
4956 KB |
Output is correct |
3 |
Correct |
114 ms |
5120 KB |
Output is correct |
4 |
Correct |
3 ms |
2904 KB |
Output is correct |
5 |
Correct |
12 ms |
5004 KB |
Output is correct |
6 |
Correct |
9 ms |
4952 KB |
Output is correct |
7 |
Correct |
7 ms |
4952 KB |
Output is correct |
8 |
Correct |
6 ms |
4956 KB |
Output is correct |
9 |
Correct |
9 ms |
5012 KB |
Output is correct |
10 |
Correct |
5 ms |
4956 KB |
Output is correct |
11 |
Correct |
5 ms |
4956 KB |
Output is correct |
12 |
Correct |
5 ms |
4952 KB |
Output is correct |
13 |
Correct |
7 ms |
4956 KB |
Output is correct |
14 |
Correct |
6 ms |
4956 KB |
Output is correct |
15 |
Correct |
7 ms |
4996 KB |
Output is correct |
16 |
Correct |
7 ms |
4956 KB |
Output is correct |
17 |
Correct |
7 ms |
4956 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
24 ms |
22744 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
17 ms |
18268 KB |
Execution killed with signal 7 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
75 ms |
35484 KB |
Execution killed with signal 7 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
24 ms |
22744 KB |
Execution killed with signal 11 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
4952 KB |
Output is correct |
2 |
Correct |
1 ms |
4956 KB |
Output is correct |
3 |
Correct |
114 ms |
5120 KB |
Output is correct |
4 |
Correct |
3 ms |
2904 KB |
Output is correct |
5 |
Correct |
12 ms |
5004 KB |
Output is correct |
6 |
Correct |
9 ms |
4952 KB |
Output is correct |
7 |
Correct |
7 ms |
4952 KB |
Output is correct |
8 |
Correct |
6 ms |
4956 KB |
Output is correct |
9 |
Correct |
9 ms |
5012 KB |
Output is correct |
10 |
Correct |
5 ms |
4956 KB |
Output is correct |
11 |
Correct |
5 ms |
4956 KB |
Output is correct |
12 |
Correct |
5 ms |
4952 KB |
Output is correct |
13 |
Correct |
7 ms |
4956 KB |
Output is correct |
14 |
Correct |
6 ms |
4956 KB |
Output is correct |
15 |
Correct |
7 ms |
4996 KB |
Output is correct |
16 |
Correct |
7 ms |
4956 KB |
Output is correct |
17 |
Correct |
7 ms |
4956 KB |
Output is correct |
18 |
Runtime error |
24 ms |
22744 KB |
Execution killed with signal 11 |
19 |
Halted |
0 ms |
0 KB |
- |