답안 #1090040

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1090040 2024-09-17T16:00:15 Z Hora000 Lutrija (COCI19_lutrija) C++14
0 / 70
1 ms 600 KB
#include<fstream>
#include<vector>
#include<queue>
#include<cmath>
#include<algorithm>
using namespace std;

    ofstream cout("c.out"); 
vector<vector<int>> g;

bool prim(long long x){
    if(x <= 1) return false;
    for(long long i = 2; i <= sqrt(x); i++){
        if(x % i == 0) return false;
    }
    return true;
}

vector<long long> bfs(int v){
    vector<bool> vis(7);
    queue<int> q;
    vector<int> p(7, -1);
    q.push(v);
    vis[v] = true;
    while(!q.empty()){
        for(auto x : g[q.front()]){
            if(!vis[x]){
                vis[x] = true;
                p[x] = q.front();
                q.push(x);
            }
        }
        q.pop();
    }
    if(p[6] == -1) return {(long long)-1};
    vector<long long> r;
    int c = 6;
    while(p[c] != -1){
        r.push_back(c);
        c = p[c];
    }
    r.push_back(c);
    reverse(r.begin(), r.end());
    return r;
}

int main(){
    ifstream cin("c.in"); 
    long long a, b;
    cin >> a >> b;
    g.resize(7);
    //0 a, 1 a + 2, 2 a - 2, 3 2, 4 b - 2, 5 b + 2, 6 b
    vector<long long> e = {a, a + 2, a - 2, 2, b - 2, b + 2, b};
    for(int i = 0; i < 7; i++){
        for(int j = 0; j < 7; j++){
            if(prim(abs(e[i] - e[j])) && prim(e[i]) && prim(e[j])){
                g[i].push_back(j);
            }
        }
    }
    vector<long long> ans = bfs(0);
    if(ans[0] == -1) cout << "-1\n";
    else{
        cout << ans.size() << "\n";
        for(auto x : ans) cout << e[x] << " ";
    }
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 348 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 600 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Unexpected end of file - int32 expected
2 Halted 0 ms 0 KB -