이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
typedef long long ll;
vector <int> v;
bool visit[1001];
vector <int> adj[1001];
int a, b;
bool prime(int x) {
    if (x < 2) return false;
    for (int i = 2; i <= sqrt(x); ++ i) {
        if (x % i == 0) return false;
    }
    return true;
}
int par[1001];
void dfs(int u) {
    visit[u] = true;
    for (int v : adj[u]) {
        if (visit[v]) continue;
        else {
            par[v] = u;
            dfs(v);
        }
    }
}
int main() {
    //freopen(".INP", "r", stdin);
    //freopen(".OUT", "w", stdout);
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    cin >> a >> b;
    
    v.push_back(a);
    v.push_back(b);
    for (int i = a - 2; i <= a + 2; ++ i) {
        if (prime(i) && i != a) v.push_back(i);
    }
    for (int i = b - 2; i <= b + 2; ++ i) {
        if (prime(i) && i != b) v.push_back(i);
    }
    v.push_back(2);
    sort(v.begin(), v.end());
    for (int i : v) {
        for (int j : v) {
            if (i != j && prime(abs(j - i))) {
                adj[i].pb(j);
                adj[j].pb(i);
            }
        }
    }
    dfs(a);
    if (!visit[b]) {
        cout << -1;
        return 0;
    }
    vector <int> ans;
    ans.pb(b);
    while (par[b] != 0) {
        ans.pb(par[b]);
        b = par[b];
    }
    
    cout << ans.size() << endl;
    for (int i = ans.size() - 1;i >= 0; -- i) cout << ans[i] << " ";
    return 0;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |