제출 #850083

#제출 시각아이디문제언어결과실행 시간메모리
850083alexddAmusement Park (JOI17_amusement_park)C++17
0 / 100
24 ms6772 KiB
#include "Joi.h" #include<bits/stdc++.h> using namespace std; static bool visited[10005]; static vector<int> ord; static vector<int> con[10005]; static bool done[10005]; static void dfs(int nod) { visited[nod]=1; sort(con[nod].begin(),con[nod].end()); ord.push_back(nod); for(auto adj:con[nod]) { if(!visited[adj]) { dfs(adj); ord.push_back(nod); } } } void Joi(int N, int M, int A[], int B[], long long X, int T) { ord.clear(); for(int i=0;i<N;i++) { visited[i]=0; con[i].clear(); done[i]=0; } for(int i=0;i<M;i++) { con[A[i]].push_back(B[i]); con[B[i]].push_back(A[i]); } dfs(0); int cnt=0; for(int i=0;i<ord.size();i++) { if(!done[ord[i]]) { if(((1LL<<cnt)&X)) MessageBoard(ord[i],1); else MessageBoard(ord[i],0); cnt++; done[ord[i]]=1; } } }
#include "Ioi.h" #include<bits/stdc++.h> using namespace std; static int INF = 1e9; static bool visited[10005]; static vector<int> ord; static vector<int> con[10005]; static bool done[10005]; static int p[10005]; static int poz[10005]; static int fr[65]; static int care[10005]; static void dfs(int nod) { visited[nod]=1; sort(con[nod].begin(),con[nod].end()); poz[nod]=ord.size(); ord.push_back(nod); for(auto adj:con[nod]) { if(!visited[adj]) { dfs(adj); ord.push_back(nod); } } } long long Ioi(int N, int M, int A[], int B[], int P, int V, int T) { ord.clear(); for(int i=0;i<N;i++) { visited[i]=0; con[i].clear(); done[i]=0; } for(int i=0;i<M;i++) { con[A[i]].push_back(B[i]); con[B[i]].push_back(A[i]); } dfs(0); int cnt=0; for(int i=0;i<ord.size();i++) { if(!done[ord[i]]) { care[ord[i]]=cnt; cnt=(cnt+1)%60; done[ord[i]]=1; } p[i]=care[ord[i]]; } long long rez=0; int cate=0; for(int i=poz[P];i<ord.size();i++) { if(fr[p[i]]==0) { rez += V * (1LL<<(p[i])); fr[p[i]]=1; cate++; if(cate==60) break; } if(i+1<ord.size()) V = Move(ord[i+1]); } if(cate==60) return rez; for(int i=ord.size()-2;i>=0;i--) { if(fr[p[i]]==0) { rez += V * (1LL<<(p[i])); fr[p[i]]=1; cate++; if(cate==60) break; } if(i==0) { while(1) N=0; } V = Move(ord[i-1]); } return rez; }

컴파일 시 표준 에러 (stderr) 메시지

Joi.cpp: In function 'void Joi(int, int, int*, int*, long long int, int)':
Joi.cpp:39:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |     for(int i=0;i<ord.size();i++)
      |                 ~^~~~~~~~~~~

Ioi.cpp: In function 'long long int Ioi(int, int, int*, int*, int, int, int)':
Ioi.cpp:45:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |     for(int i=0;i<ord.size();i++)
      |                 ~^~~~~~~~~~~
Ioi.cpp:57:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |     for(int i=poz[P];i<ord.size();i++)
      |                      ~^~~~~~~~~~~
Ioi.cpp:67:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   67 |         if(i+1<ord.size()) V = Move(ord[i+1]);
      |            ~~~^~~~~~~~~~~
Ioi.cpp: At global scope:
Ioi.cpp:4:12: warning: 'INF' defined but not used [-Wunused-variable]
    4 | static int INF = 1e9;
      |            ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...