답안 #933460

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
933460 2024-02-25T17:21:42 Z parlimoos Amusement Park (JOI17_amusement_park) C++14
10 / 100
23 ms 4512 KB
//Be Name KHODA
#pragma GCC optimize("Ofast")
#include "Joi.h"
#include<bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef long double ld;
#define pb push_back
#define pp pop_back
#define lb lower_bound
#define ub upper_bound
#define cl clear
#define bg begin
#define arr(x) array<int , x>
#define endl '\n'

int n1 , m1;
vector<int> tr1[10000];
int tms1[10000][2] , ps1[10000];
bool ms1[10000];

int timer1 = -1;
void dfs0(int v1 = 0 , int p1 = -1){
    tms1[v1][0] = ++timer1;
    ps1[v1] = p1 , ms1[v1] = 1;
    for(int u1 : tr1[v1]) if(!ms1[u1]) dfs0(u1 , v1);
    tms1[v1][1] = timer1;
}
void Joi(int N , int M , int A[] , int B[] , ll X , int T){
    n1 = N , m1 = M;
    for(int i = 0 ; i < m1 ; i++) tr1[A[i]].pb(B[i]) , tr1[B[i]].pb(A[i]);
    dfs0();
    for(int i = 0 ; i < n1 ; i++){
        MessageBoard(i , ((X >> (tms1[i][0] % 60)) & 1ll));
    }
}
//Be Name KHODA
#pragma GCC optimize("Ofast")
#include<bits/stdc++.h>
#include "Ioi.h"
using namespace std;

typedef long long ll;
typedef long double ld;
#define pb push_back
#define pp pop_back
#define lb lower_bound
#define ub upper_bound
#define cl clear
#define bg begin
#define arr(x) array<int , x>
#define endl '\n'

int n , m;
vector<int> tr[10000];
int tms[10000][2] , ps[10000];
bool ms[10000];
vector<int> tour;
ll o;

int timer = -1;
void dfs1(int v = 0 , int p = -1){
    tms[v][0] = ++timer , tour.pb(v);
    ps[v] = p , ms[v] = 1;
    for(int u : tr[v]) if(!ms[u]) dfs1(u , v) , tour.pb(v);
    tms[v][1] = timer;
}
void dfs2(int v){
    ms[v] = 1;
    for(int u : tr[v]){
        if(!ms[u] and u != ps[v] and tms[u][0] < 60){
            ll d = (1ll * Move(u));
            o |= (d << (tms[u][0] % 60));
            dfs2(u);
            d = Move(v);
        }
    }
}
ll Ioi(int N , int M , int A[] , int B[] , int P , int V , int T){
    n = N , m = M;
    for(int i = 0 ; i < m ; i++) tr[A[i]].pb(B[i]) , tr[B[i]].pb(A[i]);
    dfs1();
    o = ((1ll * V) << (tms[P][0] % 60));
    if(tms[P][0] >= 59){
        int i = 0;
        for(; tour[i] != P ; i++);
        while(tms[tour[i]][0] != tms[P][0] - 59){
            bool flg = 0;
			for(int u : tr[tour[i]]) if(u == tour[i - 1]) flg = 1;
			while(!flg);
            ll d = Move(tour[i - 1]);
            o |= (d << (tms[tour[i - 1]][0] % 60));
            i--;
        }
        return o;
    }else{
        fill(&ms[0] , &ms[n] , 0);
        while(true){
            dfs2(P);
            if(ps[P] == -1) break;
            ll d = Move(ps[P]);
            P = ps[P];
            o |= (d << tms[P][0]);
        }
        return o;
    }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 1304 KB Output is correct
2 Correct 1 ms 1296 KB Output is correct
3 Correct 1 ms 1312 KB Output is correct
4 Incorrect 1 ms 1308 KB Wrong Answer [7]
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 18 ms 4388 KB Output is correct
2 Correct 16 ms 4448 KB Output is correct
3 Correct 18 ms 4440 KB Output is correct
4 Incorrect 9 ms 3032 KB Wrong Answer [7]
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 1292 KB Output is correct
2 Correct 0 ms 1296 KB Output is correct
3 Correct 1 ms 1296 KB Output is correct
4 Correct 2 ms 1852 KB Output is correct
5 Correct 3 ms 1848 KB Output is correct
6 Correct 2 ms 1840 KB Output is correct
7 Correct 2 ms 2088 KB Output is correct
8 Correct 2 ms 1840 KB Output is correct
9 Correct 10 ms 4064 KB Output is correct
10 Correct 9 ms 4056 KB Output is correct
11 Correct 8 ms 4064 KB Output is correct
12 Correct 1 ms 1308 KB Output is correct
13 Correct 1 ms 1300 KB Output is correct
14 Correct 1 ms 1292 KB Output is correct
15 Correct 1 ms 1308 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 19 ms 4440 KB Output is correct
2 Correct 17 ms 4512 KB Output is correct
3 Partially correct 23 ms 4440 KB Partially correct
4 Partially correct 10 ms 3040 KB Partially correct
5 Correct 10 ms 3796 KB Output is correct
6 Correct 13 ms 3536 KB Output is correct
7 Correct 12 ms 3544 KB Output is correct
8 Correct 11 ms 3204 KB Output is correct
9 Incorrect 12 ms 3296 KB Wrong Answer [7]
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 4448 KB Output is correct
2 Correct 18 ms 4448 KB Output is correct
3 Incorrect 18 ms 4452 KB Output isn't correct
4 Halted 0 ms 0 KB -