Submission #103936

#TimeUsernameProblemLanguageResultExecution timeMemory
103936Bodo171Amusement Park (JOI17_amusement_park)C++14
81 / 100
49 ms5240 KiB
#include "Joi.h"
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
static const int nmax=20005;
static vector<int> v[nmax];
static int viz[nmax],w[nmax],tt[nmax];
static long long et[nmax];
static int i,j,nr;
static void dfs(int x)
{
    viz[x]=1;et[x]=++nr;et[x]%=60;
    w[x]=1;
    for(int i=0;i<v[x].size();i++)
       if(!viz[v[x][i]])
    {
        tt[v[x][i]]=x;
        dfs(v[x][i]);
        w[x]+=w[v[x][i]];
    }
}
void Joi(int N, int M, int A[], int B[], long long X, int T) {
  for(i=0;i<M;i++)
  {
      v[A[i]].push_back(B[i]);
      v[B[i]].push_back(A[i]);
  }
  for(i=0;i<N;i++)
    sort(v[i].begin(),v[i].end());
  dfs(0);
  for(int i = 0; i < N; i++){
    MessageBoard(i, (((1LL<<et[i])&X)!=0));
  }
}
#include "Ioi.h"
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
static const int nmax=20005;
static vector<int> v[nmax];
static int viz[nmax],w[nmax],tt[nmax];
static long long et[nmax];
static int act[100];
static int i,j,nr;
static int visited;
static void dfs(int x)
{
    viz[x]=1;et[x]=++nr;et[x]%=60;
    w[x]=1;
    for(int i=0;i<v[x].size();i++)
       if(!viz[v[x][i]])
    {
        tt[v[x][i]]=x;
        dfs(v[x][i]);
        w[x]+=w[v[x][i]];
    }
}
static void dfs2(int x)
{
    visited++;
    for(int i=0;i<v[x].size()&&visited<60;i++)
        if(w[v[x][i]]<w[x])
    {
        act[et[v[x][i]]]=Move(v[x][i]);
        dfs2(v[x][i]);
    }
    if(visited<60)
     int bla=Move(tt[x]);
}
long long Ioi(int N, int M, int A[], int B[], int P, int V, int T) {
  for(i=0;i<M;i++)
  {
      v[A[i]].push_back(B[i]);
      v[B[i]].push_back(A[i]);
  }
  for(i=0;i<N;i++)
    sort(v[i].begin(),v[i].end());
  dfs(0);
  int rt=P;
  int xx=V;
  while(w[rt]<60)
  {
      xx=Move(tt[rt]);
      rt=tt[rt];
  }
  act[et[rt]]=xx;
  dfs2(rt);
  long long ans=0;
  for(i=0;i<60;i++)
    if(act[i])
      ans+=(1LL<<i);
  return ans;
}

Compilation message (stderr)

Joi.cpp: In function 'void dfs(int)':
Joi.cpp:15:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<v[x].size();i++)
                 ~^~~~~~~~~~~~
Joi.cpp: At global scope:
Joi.cpp:10:14: warning: 'j' defined but not used [-Wunused-variable]
 static int i,j,nr;
              ^

Ioi.cpp: In function 'void dfs(int)':
Ioi.cpp:17:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<v[x].size();i++)
                 ~^~~~~~~~~~~~
Ioi.cpp: In function 'void dfs2(int)':
Ioi.cpp:28:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<v[x].size()&&visited<60;i++)
                 ~^~~~~~~~~~~~
Ioi.cpp:35:10: warning: unused variable 'bla' [-Wunused-variable]
      int bla=Move(tt[x]);
          ^~~
Ioi.cpp: At global scope:
Ioi.cpp:11:14: warning: 'j' defined but not used [-Wunused-variable]
 static int i,j,nr;
              ^
#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...