Submission #706545

# Submission time Handle Problem Language Result Execution time Memory
706545 2023-03-07T01:55:44 Z pcc Jail (JOI22_jail) C++14
21 / 100
5000 ms 13464 KB
#include <bits/stdc++.h>
using namespace std;

const int mxn =2e5+10;
int pre[mxn];
vector<int> tree[mxn];
vector<int> dir[mxn];
bitset<255> used;
int m;
int n;

void dfs(int now,int par){
    pre[now] = par;
    for(auto nxt:tree[now]){
        if(nxt == par)continue;
        dfs(nxt,now);
    }
    return;
}
bool f(int arr[]){
    bitset<255> tmp;
    for(int i = 1;i<=n;i++)tmp[i] = used[i];
    bool flag = true;
    // for(int i = 0;i<m;i++)cout<<arr[i]<<',';cout<<endl;
    for(int i = 0;i<m;i++){
        int now = arr[i];
        for(auto &j:dir[now])if(j != dir[now].back()&&tmp[j])flag = false;
        tmp[dir[now].back()] = false;
        tmp[dir[now][0]] = true;
        // for(int j = 1;j<=n;j++)cout<<tmp[j];cout<<endl;
    }
    if(flag)return true;
    else return false;
}
void solve1(){
    pair<int,int> arr[m];
    for(auto &i:arr)cin>>i.first>>i.second;
    sort(arr,arr+m);
    int maxR = 0,minL = 0;
    bool flag = true;
    for(auto &i:arr){
        if(i.first>i.second){
            if(minL>i.second)flag = false;
            if(maxR>i.second)flag = false;
            minL = max(minL,i.second);
        }
        else{
            if(maxR>i.second)flag = false;
            maxR = max(maxR,i.second);
        }
    }
    if(flag)cout<<"Yes\n";
    else cout<<"No\n";
    return;
}
 

void solve(){
    cin>>n;
    for(int i = 0;i<n-1;i++){
        int a,b;
        cin>>a>>b;
        tree[a].push_back(b);
        tree[b].push_back(a);
    }
    cin>>m;
    if(m>6||n>250){
        solve1();
        return;
    }
    for(int i = 0;i<m;i++){
        int s,e;
        cin>>s>>e;
        used[s] = true;
        dfs(s,s);
        int tmp = e;
        dir[i].push_back(e);
        while(tmp != s){
            dir[i].push_back(tmp=pre[tmp]);
        }
        // for(int j = 1;j<=n;j++)cout<<pre[j]<<',';cout<<endl;
        // for(auto &j:dir[i])cout<<j<<',';cout<<endl;
    }
    int choice[m];
    for(int i = 0;i<m;i++)choice[i] = i;
    bool flag = false;
    if(f(choice))flag = true;
    while(next_permutation(choice,choice+m))if(f(choice))flag = true;
    if(flag)cout<<"Yes\n";
    else cout<<"No\n";
    for(int i = 0;i<=n;i++){
        tree[i].clear();
    }
    for(int i =0;i<m;i++)dir[i].clear();
    used.reset();
    return;
}

int main(){
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int t;
    cin>>t;
    while(t--)solve();
}
# Verdict Execution time Memory Grader output
1 Correct 5 ms 9684 KB Output is correct
2 Correct 5 ms 9684 KB Output is correct
3 Correct 5 ms 9684 KB Output is correct
4 Correct 13 ms 9724 KB Output is correct
5 Correct 24 ms 9724 KB Output is correct
6 Correct 5 ms 9684 KB Output is correct
7 Correct 24 ms 9728 KB Output is correct
8 Correct 6 ms 9812 KB Output is correct
9 Correct 23 ms 11368 KB Output is correct
10 Correct 31 ms 13464 KB Output is correct
11 Execution timed out 5065 ms 9684 KB Time limit exceeded
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 9640 KB Output is correct
2 Correct 5 ms 9684 KB Output is correct
3 Correct 6 ms 9692 KB Output is correct
4 Correct 6 ms 9684 KB Output is correct
5 Correct 6 ms 9684 KB Output is correct
6 Correct 6 ms 9684 KB Output is correct
7 Correct 6 ms 9684 KB Output is correct
8 Correct 6 ms 9684 KB Output is correct
9 Correct 6 ms 9684 KB Output is correct
10 Correct 5 ms 9684 KB Output is correct
11 Correct 5 ms 9684 KB Output is correct
12 Correct 5 ms 9684 KB Output is correct
13 Correct 5 ms 9684 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 9640 KB Output is correct
2 Correct 5 ms 9684 KB Output is correct
3 Correct 6 ms 9692 KB Output is correct
4 Correct 6 ms 9684 KB Output is correct
5 Correct 6 ms 9684 KB Output is correct
6 Correct 6 ms 9684 KB Output is correct
7 Correct 6 ms 9684 KB Output is correct
8 Correct 6 ms 9684 KB Output is correct
9 Correct 6 ms 9684 KB Output is correct
10 Correct 5 ms 9684 KB Output is correct
11 Correct 5 ms 9684 KB Output is correct
12 Correct 5 ms 9684 KB Output is correct
13 Correct 5 ms 9684 KB Output is correct
14 Correct 5 ms 9684 KB Output is correct
15 Correct 5 ms 9684 KB Output is correct
16 Correct 24 ms 9684 KB Output is correct
17 Correct 10 ms 9732 KB Output is correct
18 Correct 22 ms 9732 KB Output is correct
19 Correct 5 ms 9684 KB Output is correct
20 Correct 21 ms 9712 KB Output is correct
21 Correct 18 ms 9732 KB Output is correct
22 Correct 19 ms 9720 KB Output is correct
23 Correct 7 ms 9700 KB Output is correct
24 Correct 7 ms 9684 KB Output is correct
25 Correct 24 ms 9684 KB Output is correct
26 Correct 10 ms 9684 KB Output is correct
27 Correct 18 ms 9728 KB Output is correct
28 Correct 8 ms 9684 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 9640 KB Output is correct
2 Correct 5 ms 9684 KB Output is correct
3 Correct 6 ms 9692 KB Output is correct
4 Correct 6 ms 9684 KB Output is correct
5 Correct 6 ms 9684 KB Output is correct
6 Correct 6 ms 9684 KB Output is correct
7 Correct 6 ms 9684 KB Output is correct
8 Correct 6 ms 9684 KB Output is correct
9 Correct 6 ms 9684 KB Output is correct
10 Correct 5 ms 9684 KB Output is correct
11 Correct 5 ms 9684 KB Output is correct
12 Correct 5 ms 9684 KB Output is correct
13 Correct 5 ms 9684 KB Output is correct
14 Correct 5 ms 9684 KB Output is correct
15 Correct 5 ms 9684 KB Output is correct
16 Correct 24 ms 9684 KB Output is correct
17 Correct 10 ms 9732 KB Output is correct
18 Correct 22 ms 9732 KB Output is correct
19 Correct 5 ms 9684 KB Output is correct
20 Correct 21 ms 9712 KB Output is correct
21 Correct 18 ms 9732 KB Output is correct
22 Correct 19 ms 9720 KB Output is correct
23 Correct 7 ms 9700 KB Output is correct
24 Correct 7 ms 9684 KB Output is correct
25 Correct 24 ms 9684 KB Output is correct
26 Correct 10 ms 9684 KB Output is correct
27 Correct 18 ms 9728 KB Output is correct
28 Correct 8 ms 9684 KB Output is correct
29 Correct 6 ms 9812 KB Output is correct
30 Incorrect 6 ms 9932 KB Output isn't correct
31 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 9640 KB Output is correct
2 Correct 5 ms 9684 KB Output is correct
3 Correct 6 ms 9692 KB Output is correct
4 Correct 6 ms 9684 KB Output is correct
5 Correct 6 ms 9684 KB Output is correct
6 Correct 6 ms 9684 KB Output is correct
7 Correct 6 ms 9684 KB Output is correct
8 Correct 6 ms 9684 KB Output is correct
9 Correct 6 ms 9684 KB Output is correct
10 Correct 5 ms 9684 KB Output is correct
11 Correct 5 ms 9684 KB Output is correct
12 Correct 5 ms 9684 KB Output is correct
13 Correct 5 ms 9684 KB Output is correct
14 Correct 5 ms 9684 KB Output is correct
15 Correct 5 ms 9684 KB Output is correct
16 Correct 24 ms 9684 KB Output is correct
17 Correct 10 ms 9732 KB Output is correct
18 Correct 22 ms 9732 KB Output is correct
19 Correct 5 ms 9684 KB Output is correct
20 Correct 21 ms 9712 KB Output is correct
21 Correct 18 ms 9732 KB Output is correct
22 Correct 19 ms 9720 KB Output is correct
23 Correct 7 ms 9700 KB Output is correct
24 Correct 7 ms 9684 KB Output is correct
25 Correct 24 ms 9684 KB Output is correct
26 Correct 10 ms 9684 KB Output is correct
27 Correct 18 ms 9728 KB Output is correct
28 Correct 8 ms 9684 KB Output is correct
29 Correct 6 ms 9812 KB Output is correct
30 Incorrect 6 ms 9932 KB Output isn't correct
31 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 9684 KB Output is correct
2 Correct 6 ms 9708 KB Output is correct
3 Correct 5 ms 9684 KB Output is correct
4 Correct 5 ms 9632 KB Output is correct
5 Execution timed out 5066 ms 9684 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 5 ms 9684 KB Output is correct
2 Correct 5 ms 9684 KB Output is correct
3 Correct 5 ms 9684 KB Output is correct
4 Correct 13 ms 9724 KB Output is correct
5 Correct 24 ms 9724 KB Output is correct
6 Correct 5 ms 9684 KB Output is correct
7 Correct 24 ms 9728 KB Output is correct
8 Correct 6 ms 9812 KB Output is correct
9 Correct 23 ms 11368 KB Output is correct
10 Correct 31 ms 13464 KB Output is correct
11 Execution timed out 5065 ms 9684 KB Time limit exceeded
12 Halted 0 ms 0 KB -