제출 #1181392

#제출 시각아이디문제언어결과실행 시간메모리
1181392CaiWinDaoStray Cat (JOI20_stray)C++20
0 / 100
23 ms11816 KiB
#include "Anthony.h"
#include <vector>
#include <queue>

std::vector<int> Mark(int N, int M, int A, int B, std::vector<int> U, std::vector<int> V) {
    // Xây dựng danh sách kề cho đồ thị
    std::vector<std::vector<int>> adj(N);
    for (int i = 0; i < M; ++i) {
        adj[U[i]].push_back(V[i]);
        adj[V[i]].push_back(U[i]);
    }
    
    // BFS từ thị trấn 0 để xác định cha của mỗi đỉnh
    std::vector<int> parent(N, -1);
    std::queue<int> q;
    q.push(0);
    parent[0] = 0;  // Đỉnh gốc tự làm cha của chính nó
    
    while (!q.empty()) {
        int u = q.front();
        q.pop();
        for (int v : adj[u]) {
            if (parent[v] == -1) {  // Nếu đỉnh v chưa được thăm
                parent[v] = u;      // Ghi nhận u là cha của v
                q.push(v);
            }
        }
    }
    
    // Đánh dấu các cạnh
    std::vector<int> marks(M);
    for (int i = 0; i < M; ++i) {
        int u = U[i], v = V[i];
        // Nếu cạnh nối từ u đến cha của u hoặc từ v đến cha của v, đánh dấu 0
        if (parent[u] == v || parent[v] == u) {
            marks[i] = 0;
        } else {
            marks[i] = 1;
        }
    }
    return marks;
}
#include "Catherine.h"
#include <vector>

namespace {
    int A, B;
}

void Init(int a, int b) {
    A = a;  // Số loại dấu
    B = b;  // Số bước dư
}

int Move(std::vector<int> y) {
    // y[i] là số con đường có dấu i từ đỉnh hiện tại (trừ đường vừa đi qua nếu có)
    if (y[0] > 0) {
        return 0;  // Chọn dấu 0 nếu có
    } else {
        return -1; // Quay lại nếu không có dấu 0
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...