Submission #779606
Source Code Expand
#define _USE_MATH_DEFINES
#include <sstream> //string stream its useful!
#include<string>
#include<iostream>
#include<utility> //pair
#include <vector> // vector
#include <algorithm> // swap,sort,binary_search
#include <functional> // std::greater
#include <map> //map
#include<set> //set
#include<queue> //queue
#include<list> //list
#include<cmath>
#include<numeric>
#include<cassert>
#include <iomanip> //cout<<setprecision
typedef long long ll;
#define ARRAY_LENGTH(array) (sizeof(array) / sizeof(array[0]))
using namespace std;
void omajinai() {
cin.tie(0);
ios::sync_with_stdio(false);
cout<<setprecision(15);
//freopen("txt.csv","r",stdin);
}
vector<int> *root;
int *uf;
bool *ans;
bool *kotae;
int myfind(int n){
if(uf[n]== n) return n;
uf[n] = myfind(uf[n]);
return uf[n];
}
void myunion(int x, int y){
int a = myfind(x) , b = myfind(y);
if(a == b) return;
uf[b] = a;
ans[a] = ans[a]||ans[b];
}
bool gett(int x){
return ans[myfind(x)];
}
int main(){
omajinai();
int n,m,s; cin>>n>>m>>s;
root = new vector<int>[n+1];
uf = new int[n+1]; ans = new bool[n+1]; kotae = new bool[n+1];
for(int i = 1; i<=n;i++){ uf[i] = i;}
fill(ans,ans+n+1,false); ans[s] = true;
for(int i = 0 ; i< m; i++){
int u,v;
cin>>u>>v;
if(!(u<=v)) swap(u,v);
root[u].push_back(v);
}
for(int i = n;i>0;i--){
for(int v:root[i]){
myunion(i,v);
}
kotae[i] = gett(i);
}
for(int i = 1 ; i<=n;i++){ if(kotae[i]) cout<<i<<endl;}
}
Submission Info
| Submission Time | |
|---|---|
| Task | B - 駐車場 |
| User | tamtam123 |
| Language | C++14 (GCC 5.4.1) |
| Score | 100 |
| Code Size | 1685 Byte |
| Status | AC |
| Exec Time | 1519 ms |
| Memory | 13568 KiB |
Judge Result
| Set Name | Sample | Subtask0 | All | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 40 / 40 | 60 / 60 | ||||||
| Status |
|
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample0.txt, sample1.txt, sample2.txt |
| Subtask0 | subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, sample0.txt, sample1.txt, sample2.txt |
| All | subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, subtask1_0.txt, subtask1_1.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| sample0.txt | AC | 4 ms | 256 KiB |
| sample1.txt | AC | 4 ms | 256 KiB |
| sample2.txt | AC | 4 ms | 256 KiB |
| subtask0_0.txt | AC | 16 ms | 384 KiB |
| subtask0_1.txt | AC | 8 ms | 256 KiB |
| subtask0_2.txt | AC | 7 ms | 384 KiB |
| subtask0_3.txt | AC | 5 ms | 384 KiB |
| subtask0_4.txt | AC | 6 ms | 256 KiB |
| subtask0_5.txt | AC | 7 ms | 256 KiB |
| subtask0_6.txt | AC | 6 ms | 256 KiB |
| subtask0_7.txt | AC | 11 ms | 384 KiB |
| subtask0_8.txt | AC | 5 ms | 256 KiB |
| subtask0_9.txt | AC | 11 ms | 384 KiB |
| subtask1_0.txt | AC | 1519 ms | 13568 KiB |
| subtask1_1.txt | AC | 493 ms | 6016 KiB |
| subtask1_2.txt | AC | 421 ms | 8064 KiB |
| subtask1_3.txt | AC | 109 ms | 8956 KiB |
| subtask1_4.txt | AC | 330 ms | 3968 KiB |
| subtask1_5.txt | AC | 389 ms | 4864 KiB |
| subtask1_6.txt | AC | 685 ms | 6912 KiB |
| subtask1_7.txt | AC | 375 ms | 7544 KiB |
| subtask1_8.txt | AC | 285 ms | 4476 KiB |
| subtask1_9.txt | AC | 202 ms | 6136 KiB |