답안 #1081090

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1081090 2024-08-29T18:16:08 Z Kipras 가장 긴 여행 (IOI23_longesttrip) C++17
15 / 100
8 ms 600 KB
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;

#include "longesttrip.h"

bool are_connected(vector<int> a, vector<int> b);

vector<int> longest_trip(int N, int D){
    if(D==3) {
        vector<int> a;
        for(int i = 0; i < N; i++)a.push_back(i);
        return a;
    }else if(D==2) {
        deque<int> q;
        if(!are_connected({0}, {1})) {
            q.push_back(0);
            q.push_back(2);
            q.push_back(1);
        }
        else if(!are_connected({0}, {2})) {
            q.push_back(0);
            q.push_back(1);
            q.push_back(2);
        }
        else {
            q.push_back(1);
            q.push_back(0);
            q.push_back(2);
        }

        for(int i = 3; i < N; i++) {
            if(are_connected({q.front()}, {i}))
                q.push_front(i);
            else
                q.push_back(i);
        }

        vector<int> a;
        for(int i = 0; i < N; i++) {
            a.push_back(q.front());
            q.pop_front();
        }
        return a;

    }
    vector<int> a, b, c;
    a.push_back(0);
    b.push_back(1);
    for(int i = 2; i < N; i++) {
        if(b.size()>a.size())swap(a, b);
        c.push_back(i);
        if(are_connected({a.back()}, {c.back()})) {
            a.push_back(c.back());
            c.clear();
        }else if(are_connected({b.back()}, {c.back()})) {
            b.push_back(c.back());
            c.clear();
        }else{
            for(auto i : b) {
                a.push_back(i);
            }
            b.clear();
            b.push_back(c.back());
            c.clear();
        }
    }
    if(b.size()>a.size())swap(a, b);
    return a;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 344 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 0 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 344 KB Output is correct
2 Correct 7 ms 344 KB Output is correct
3 Correct 5 ms 344 KB Output is correct
4 Correct 5 ms 344 KB Output is correct
5 Correct 5 ms 344 KB Output is correct
6 Correct 5 ms 344 KB Output is correct
7 Correct 5 ms 344 KB Output is correct
8 Correct 6 ms 344 KB Output is correct
9 Correct 6 ms 436 KB Output is correct
10 Correct 6 ms 344 KB Output is correct
11 Correct 5 ms 344 KB Output is correct
12 Correct 5 ms 344 KB Output is correct
13 Correct 5 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 344 KB Output is correct
2 Correct 5 ms 344 KB Output is correct
3 Correct 5 ms 344 KB Output is correct
4 Correct 5 ms 344 KB Output is correct
5 Correct 5 ms 344 KB Output is correct
6 Correct 4 ms 344 KB Output is correct
7 Correct 4 ms 344 KB Output is correct
8 Correct 5 ms 344 KB Output is correct
9 Correct 5 ms 344 KB Output is correct
10 Correct 5 ms 600 KB Output is correct
11 Correct 7 ms 344 KB Output is correct
12 Correct 5 ms 344 KB Output is correct
13 Correct 8 ms 344 KB Output is correct
14 Correct 5 ms 344 KB Output is correct
15 Correct 7 ms 344 KB Output is correct
16 Incorrect 1 ms 344 KB Incorrect
17 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -