제출 #1180877

#제출 시각아이디문제언어결과실행 시간메모리
1180877meicrisMarshmallow Molecules (CCO19_day2problem2)C++17
0 / 25
4094 ms3832 KiB
#include<bits/stdc++.h> using namespace std; vector<vector<int>> grafo; vector<bool> vis; int cont=0; int n,q; void dfs(int nodo) { for(int i=0;i<grafo[nodo].size();i++) { int u=grafo[nodo][i]; if(grafo[nodo][i+1]<=n) { for(int j=i+1;j<grafo[nodo].size();j++){ int v=grafo[nodo][j]; if(u<v && find(grafo[u].begin(),grafo[u].end(),v)==grafo[u].end()){ grafo[u].push_back(v); cont++; } } if(!vis[i])dfs(grafo[nodo][i]); } } } void solve(){ int a,b; cin>>n>>q; grafo.assign(n+1,vector<int> ()); vis.assign(n+1,false); while(q--) { cin>>a>>b; grafo[a].push_back(b); cont++; } for(int i=1;i<=n;i++) { sort(grafo[i].begin(),grafo[i].end()); if(!vis[i]) dfs(i),vis[i]=true; } cout<<cont; } int main() { solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...