Submission #896908

#TimeUsernameProblemLanguageResultExecution timeMemory
896908alexander707070Flights (JOI22_flights)C++17
0 / 100
903 ms4296 KiB
#include<bits/stdc++.h>
#include "Ali.h"

#define MAXN 100007
using namespace std;

namespace{
    int n,xx,yy;

    vector<int> v[MAXN],w;
    int dist[MAXN];
    string res;
    bool vis[MAXN];

    void dfs(int x,int p,int d){
        dist[x]=d;
        vis[x]=true;

        for(int i=0;i<v[x].size();i++){
            if(v[x][i]==p or vis[v[x][i]])continue;

            dfs(v[x][i],x,d+1);
        }
    }
}

void Init(int N, vector<int> U, vector<int> V){
  double st=clock();
    while(true){
        double et=clock();
        if((et-st)/CLOCKS_PER_SEC>0.1){
            break;
        }
    }

    n=N;

    for(int i=0;i<n;i++)v[i].clear();
    w.clear();

    for(int i=0;i<n-1;i++){
        v[U[i]].push_back(V[i]);
        v[V[i]].push_back(U[i]);
    }

    for(int i=0;i<=n-1;i++){
        SetID(i,i);
    }
}

string SendA(string S){
  double st=clock();
    while(true){
        double et=clock();
        if((et-st)/CLOCKS_PER_SEC>0.2){
            break;
        }
    }

    xx=yy=0;

    if(S.size()!=20)cout<<1/0;

    res="";
    for(int i=0;i<14;i++){
        xx*=2;
        if(S[i]=='1')xx++;
    }

  /*
    for(int i=0;i<6;i++){
        yy*=2;
        if(S[14+i]=='1')yy++;
    }
    for(int i=0;i<8;i++)yy*=2;*/

    for(int i=0;i<=n-1;i++){
        if(xx==i)continue;
        //if((i^yy)>=(1<<8))continue;
        w.push_back(i);
    }

    if(xx>=n)cout<<1/0;
    dfs(xx,-1,0);

    for(int curr:w){
        for(int i=13;i>=0;i--){
            if(((1<<i)&curr)>0)res+="1";
            else res+="0";
        }

        for(int i=13;i>=0;i--){
            if(((1<<i)&dist[curr])>0)res+="1";
            else res+="0";
        }
    }

    return res;
}
#include<bits/stdc++.h>
#include "Benjamin.h"

#define MAXN 100007
using namespace std;

namespace{
    int nn,from,to,s;
    string res;
}

string SendB(int N, int X, int Y){
    double st=clock();
    while(true){
        double et=clock();
        if((et-st)/CLOCKS_PER_SEC>0.2){
            break;
        }
    }

    nn=N; from=X; to=Y;

    st=clock();
    while(true){
        double et=clock();
        if((et-st)/CLOCKS_PER_SEC>0.1){
            break;
        }
    }

    res="";
    for(int i=13;i>=0;i--){
        if((from&(1<<i))==0)res+="0";
        else res+="1";
    }

    st=clock();
    while(true){
        double et=clock();
        if((et-st)/CLOCKS_PER_SEC>0.1){
            break;
        }
    }

    for(int i=13;i>=8;i--){
        if((to&(1<<i))==0)res.push_back('0');
        else res.push_back('1');
    }

    st=clock();
    while(true){
        double et=clock();
        if((et-st)/CLOCKS_PER_SEC>0.1){
            break;
        }
    }

    return res;

    st=clock();
    while(true){
        double et=clock();
        if((et-st)/CLOCKS_PER_SEC>0.1){
            break;
        }
    }
}

int Answer(string T){
      double st=clock();
    while(true){
        double et=clock();
        if((et-st)/CLOCKS_PER_SEC>0.1){
            break;
        }
    }

    if(int(T.size())%28!=0)cout<<1/0;

    for(int i=0;i<T.size();i+=28){

        s=0;
        for(int f=i;f<i+14;f++){
            s*=2;
            if(f>=T.size())cout<<1/0;
            if(T[f]=='1')s++;
        }

        if(s==to){
            s=0;
            for(int f=i+14;f<i+28;f++){
                s*=2;
                if(f>=T.size())cout<<1/0;
                if(T[f]=='1')s++;
            }
            return s;
        }
    }

    cout<<1/0;
    return -1;
}

Compilation message (stderr)

Ali.cpp: In function 'void {anonymous}::dfs(int, int, int)':
Ali.cpp:19:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |         for(int i=0;i<v[x].size();i++){
      |                     ~^~~~~~~~~~~~
Ali.cpp: In function 'std::string SendA(std::string)':
Ali.cpp:62:28: warning: division by zero [-Wdiv-by-zero]
   62 |     if(S.size()!=20)cout<<1/0;
      |                           ~^~
Ali.cpp:83:21: warning: division by zero [-Wdiv-by-zero]
   83 |     if(xx>=n)cout<<1/0;
      |                    ~^~
grader_ali.cpp:10:8: warning: '{anonymous}::_randmem' defined but not used [-Wunused-variable]
   10 |   char _randmem[12379];
      |        ^~~~~~~~

Benjamin.cpp: In function 'int Answer(std::string)':
Benjamin.cpp:78:35: warning: division by zero [-Wdiv-by-zero]
   78 |     if(int(T.size())%28!=0)cout<<1/0;
      |                                  ~^~
Benjamin.cpp:80:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   80 |     for(int i=0;i<T.size();i+=28){
      |                 ~^~~~~~~~~
Benjamin.cpp:85:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   85 |             if(f>=T.size())cout<<1/0;
      |                ~^~~~~~~~~~
Benjamin.cpp:85:35: warning: division by zero [-Wdiv-by-zero]
   85 |             if(f>=T.size())cout<<1/0;
      |                                  ~^~
Benjamin.cpp:93:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   93 |                 if(f>=T.size())cout<<1/0;
      |                    ~^~~~~~~~~~
Benjamin.cpp:93:39: warning: division by zero [-Wdiv-by-zero]
   93 |                 if(f>=T.size())cout<<1/0;
      |                                      ~^~
Benjamin.cpp:100:12: warning: division by zero [-Wdiv-by-zero]
  100 |     cout<<1/0;
      |           ~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...