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
AC × 3
AC × 13
AC × 20
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