답안 #861615

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
861615 2023-10-16T14:58:31 Z faustaadp 가장 긴 여행 (IOI23_longesttrip) C++17
5 / 100
726 ms 5156 KB
#include "longesttrip.h"
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
#define pb push_back
const ll NN = 1e5 + 5;
vector<int> ret;
ll b[NN], n, ada = 0;
vector<ll> v[NN];
void dfs(ll pos)
{
    if(ada)return ;
    b[pos] = 1;
    ret.pb(pos);
    // cout << pos << " mas " << ret.size() << "_\n";
    // cout << ret.size() << " dan " << n << "\n";
    if(ret.size() == n)ada = 1;
    if(ada)return;
    for(ll i = 0; i < v[pos].size(); i++)
    {
        if(b[v[pos][i]] == 0)dfs(v[pos][i]);
        if(ada)return ;
    }
    b[pos] = 0;
    // cout << pos << " kel\n";
    ret.pop_back();
}
std::vector<int> longest_trip(int N, int D)
{
    ada = 0;
    n = N;
    ret.clear();
    for(ll i = 0; i < N; i++)
        b[i] = 0;
    for(ll i = 0; i < N; i++)
        for(ll j = i + 1; j < N; j++)
        {
            vector<int> A;A.pb(i);
            vector<int> B;B.pb(j);
            bool isi = are_connected(A, B);
            if(isi)
            {
                v[i].pb(j);
                v[j].pb(i);
            }
        }
    for(ll i = 0; i < N; i++)
        dfs(i);
    return ret;
    // ll mul = 1;
    // if(N % 2 == 0)
    // {
    //     vector<int> A;A.pb(0);
    //     vector<int> B;B.pb(1);
    //     bool isi = are_connected(A, B);
    //     if(!isi)
    //         swap(cal[1], cal[2]);
    //     ret.pb(cal[0]);
    //     ret.pb(cal[1]);
    // }
    // else
    //     ret.pb(cal[0]);
    // for(ll i = mul; i + 1 < N; i += 2)
    // {
    //     ll now = ret.back();
    //     vector<int> A;A.pb(now);
    //     vector<int> B;A.pb(cal[i]);
    //     bool isi = are_connected(A, B);
    //     if()
    // }
    // return ret;
}

Compilation message

longesttrip.cpp: In function 'void dfs(ll)':
longesttrip.cpp:17:19: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   17 |     if(ret.size() == n)ada = 1;
      |        ~~~~~~~~~~~^~~~
longesttrip.cpp:19:21: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |     for(ll i = 0; i < v[pos].size(); i++)
      |                   ~~^~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 2648 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 7 ms 3304 KB Output is correct
2 Correct 25 ms 3572 KB Output is correct
3 Correct 124 ms 3580 KB Output is correct
4 Correct 327 ms 3852 KB Output is correct
5 Correct 696 ms 4936 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 7 ms 3056 KB Output is correct
2 Correct 26 ms 3048 KB Output is correct
3 Correct 122 ms 3848 KB Output is correct
4 Correct 350 ms 4096 KB Output is correct
5 Correct 708 ms 5144 KB Output is correct
6 Incorrect 1 ms 2648 KB Incorrect
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 8 ms 2904 KB Output is correct
2 Correct 21 ms 3160 KB Output is correct
3 Correct 123 ms 3800 KB Output is correct
4 Correct 326 ms 4092 KB Output is correct
5 Correct 676 ms 5156 KB Output is correct
6 Incorrect 1 ms 2648 KB Incorrect
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 2904 KB Output is correct
2 Correct 26 ms 3160 KB Output is correct
3 Partially correct 119 ms 3568 KB Output is partially correct
4 Partially correct 328 ms 3860 KB Output is partially correct
5 Partially correct 726 ms 4936 KB Output is partially correct
6 Incorrect 1 ms 2648 KB Incorrect
7 Halted 0 ms 0 KB -