Submission #947429

# Submission time Handle Problem Language Result Execution time Memory
947429 2024-03-16T07:08:27 Z phoenix0423 Stray Cat (JOI20_stray) C++17
4 / 100
42 ms 16452 KB
#include<bits/stdc++.h>
using namespace std;
typedef pair<int, int> pll;
#define pb push_back
#define eb emplace_back
const int INF = 1e9;
#include "Anthony.h"

vector<int> Mark(int n, int m, int a, int b, vector<int> u, vector<int> v){
    vector<vector<pll>> adj(n);
    vector<int> dist(n, INF), deg(n);
    dist[0] = 0;
    for(int i = 0; i < m; i++){
        adj[u[i]].eb(v[i], i);
        adj[v[i]].eb(u[i], i);
        deg[u[i]] ++, deg[v[i]] ++;
    }
    vector<int> color(m, -1);
    vector<int> bd(n);
    bd[0] = 0;
    queue<pll> q;
    q.push({0, 0});
    if(a >= 3){
        while(!q.empty()){
            auto [pos, lst] = q.front(); q.pop();
            for(auto [x, id] : adj[pos]){
                if(color[id] != -1) continue;
                if(dist[x] != INF){
                  if(dist[x] >= dist[pos]) color[id] = (lst + 1) % a;
                  else color[id] = lst;
                  continue;
                }
                // cout<<"do : "<<pos<<" "<<x<<" "<<lst<<"\n";
                dist[x] = dist[pos] + 1;
                color[id] = (lst + 1) % a;
                q.push({x, color[id]});
            }
        }
        // cout<<"dist : ";
        // for(auto x : dist) cout<<x<<" ";
        // cout<<"\n";
    }
    else{
        string ck = "121221";
        while(!q.empty()){
            auto [pos, lst] = q.front(); q.pop();
            int put;
            if(deg[pos] > 2){
                if(ck[lst] == '1') put = 1;
                else put = 0;
            }
            else put = (lst + 1) % 6;
            for(auto [x, id] : adj[pos]){
                if(dist[x] != INF) continue;
                dist[x] = dist[pos] + 1;
                color[id] = (ck[put] - '1');
                q.push({x, put});
            }
        }
    }
    return color;
}

// signed main(void){
//     int n, m, a, b, s;
//     cin>>n>>m>>a>>b>>s;
//     vector<int> u(m), v(m);
//     for(int i = 0; i < m; i++) cin>>u[i]>>v[i];
//     auto c = Mark(n, m, a, b, u, v);
//     for(auto x : c) cout<<x<<" ";
//     cout<<"\n";
// }
#include "Catherine.h"
#include <vector>
#include<bits/stdc++.h>
using namespace std;

int A, B, lst = -1, move = 0, ok = 0;
string ps = "";

void Init(int a, int b){
    A = a, B = b;
}

int Move(vector<int> y){
    // cout<<"ck : "<<A<<" "<<B<<"\n";
    if(lst != -1) y[lst]++;
    int deg = accumulate(y.begin(), y.end(), 0);
    if(deg == 1){
        return max_element(y.begin(), y.end()) - y.begin();
    }
    if(true){
        for(int i = 0; i < A; i++){
            // cout<<"try : "<<y[i]<<" "<<y[(i + 1) % A]<<"\n";
            if(y[i] == 1 && y[(i + 1) % A]){
                return i;
            }
        }
    }
    return 0;
    if(deg > 2){
        if(lst) return lst ^ 1;
        else return y[0] != 1;
    }
    if(ok){

    }
}
/*
7 6 3 6 1
0 2
0 4
1 2
1 3
1 5
4 6
*/
# Verdict Execution time Memory Grader output
1 Correct 30 ms 15464 KB Output is correct
2 Correct 1 ms 1028 KB Output is correct
3 Correct 24 ms 15240 KB Output is correct
4 Correct 38 ms 16432 KB Output is correct
5 Correct 36 ms 16452 KB Output is correct
6 Correct 34 ms 15260 KB Output is correct
7 Correct 30 ms 15256 KB Output is correct
8 Correct 39 ms 15948 KB Output is correct
9 Correct 35 ms 16016 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 30 ms 15464 KB Output is correct
2 Correct 1 ms 1028 KB Output is correct
3 Correct 24 ms 15240 KB Output is correct
4 Correct 38 ms 16432 KB Output is correct
5 Correct 36 ms 16452 KB Output is correct
6 Correct 34 ms 15260 KB Output is correct
7 Correct 30 ms 15256 KB Output is correct
8 Correct 39 ms 15948 KB Output is correct
9 Correct 35 ms 16016 KB Output is correct
10 Correct 27 ms 13360 KB Output is correct
11 Incorrect 23 ms 13736 KB Wrong Answer [5]
12 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 26 ms 12920 KB Output is correct
2 Correct 1 ms 792 KB Output is correct
3 Correct 22 ms 12672 KB Output is correct
4 Correct 34 ms 14408 KB Output is correct
5 Correct 36 ms 14416 KB Output is correct
6 Correct 28 ms 12924 KB Output is correct
7 Correct 33 ms 12932 KB Output is correct
8 Correct 36 ms 13904 KB Output is correct
9 Correct 30 ms 13696 KB Output is correct
10 Correct 30 ms 13444 KB Output is correct
11 Correct 42 ms 13284 KB Output is correct
12 Correct 30 ms 13408 KB Output is correct
13 Correct 31 ms 13444 KB Output is correct
14 Correct 38 ms 13696 KB Output is correct
15 Correct 31 ms 13696 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 26 ms 12920 KB Output is correct
2 Correct 1 ms 792 KB Output is correct
3 Correct 22 ms 12672 KB Output is correct
4 Correct 34 ms 14408 KB Output is correct
5 Correct 36 ms 14416 KB Output is correct
6 Correct 28 ms 12924 KB Output is correct
7 Correct 33 ms 12932 KB Output is correct
8 Correct 36 ms 13904 KB Output is correct
9 Correct 30 ms 13696 KB Output is correct
10 Correct 30 ms 13444 KB Output is correct
11 Correct 42 ms 13284 KB Output is correct
12 Correct 30 ms 13408 KB Output is correct
13 Correct 31 ms 13444 KB Output is correct
14 Correct 38 ms 13696 KB Output is correct
15 Correct 31 ms 13696 KB Output is correct
16 Correct 23 ms 11380 KB Output is correct
17 Incorrect 23 ms 11864 KB Wrong Answer [5]
18 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 1052 KB Output is correct
2 Correct 0 ms 780 KB Output is correct
3 Correct 1 ms 1048 KB Output is correct
4 Correct 2 ms 1304 KB Output is correct
5 Correct 2 ms 1044 KB Output is correct
6 Correct 2 ms 1044 KB Output is correct
7 Incorrect 0 ms 1048 KB Wrong Answer [5]
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 23 ms 11180 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 23 ms 11168 KB Wrong Answer [5]
2 Halted 0 ms 0 KB -