제출 #1180851

#제출 시각아이디문제언어결과실행 시간메모리
1180851gabyferaqMarshmallow Molecules (CCO19_day2problem2)C++20
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) { if(!vis[nodo]){ //vis[nodo]=true; for(int i=0;i<grafo[nodo].size();i++) { if(grafo[nodo][i+1]<=n) { for(int j=i+1;j<grafo[nodo].size();j++){ if(grafo[nodo][i]<grafo[nodo][j]&&find(grafo[grafo[nodo][i]].begin(),grafo[grafo[nodo][i]].end(),grafo[nodo][j])==grafo[grafo[nodo][i]].end()){ grafo[grafo[nodo][i]].push_back(grafo[nodo][j]); cont++; }} 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...