| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 821269 | vjudge1 | Simurgh (IOI17_simurgh) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "simurgh.h"
#include <bits/stdc++.h>
using namespace std;
const int N = 100;
int us[N] , nn ;
vector<int>ans;
vector<pair<int,int>>vc[N];
deque<int>d;
void dfs(int n){
us[n] = 1;
for(auto to : vc[n]){
if(!us[to.first] && ans.size() == 0)
d.push_back(to.second) , dfs(to.first);
}
// cout<<nn<<" "<<n<<" "<<d.size()<<"\n";
if(d.size() == (nn - 1)){
if(count_common_roads(d) == nn - 1){
for(auto to : d)
ans.push_back(to);
}
}
if(d.size())
d.pop_back();
us[n] = 0;
}
vector<int> find_roads(int n , vector<int>u , vector<int>v){
int q , i , j , m , z ,s = 0 , f , l , r , k , x , y , mn = 1e9 , mx = 0;
m = u.size();
nn = n;
for(i = 0; i < m; i++){
vc[u[i]].push_back({v[i] , i});
vc[v[i]].push_back({u[i] , i});
}
for(i = 0;i < n; i++)
dfs(i);
return ans;
}
/*
void solve(){
int q , i , j , m ,n, z ,s = 0 , f , l , r , k , x , y , mn = 1e18 , mx = 0;
vector<int>u = find_roads(4, {0, 0, 0, 1, 1, 2}, {1, 2, 3, 2, 3, 3});
//cout<<u.size()<<"\n";
for(auto to : u)
cout<<to<<"\n";
}
int main(){
/* #ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
*/
/*int t = 1;
//cin>>t;
while(t--)
{
solve();
}
}
// Author : حسن
*/
