Submission #896947

#TimeUsernameProblemLanguageResultExecution timeMemory
896947alexander707070Flights (JOI22_flights)C++17
0 / 100
7 ms2816 KiB
#include<bits/stdc++.h>
#include "Ali.h"

#define MAXN 10007
using namespace std;

namespace{

    int n,xx,yy;
    bool dali;

    vector<int> v[MAXN],w;
    int dist[MAXN];

    void dfs(int x,int p,int d){
        dist[x]=d;
        for(int i=0;i<v[x].size();i++){
            if(v[x][i]==p)continue;
            dfs(v[x][i],x,d+1);
        }
    }

}

void Init(int N, vector<int> U, vector<int> V){
    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]);
        if(U[i]==4039 and V[i]==9999)dali=true;
        if(V[i]==4039 and U[i]==9999)dali=true;
    }

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

string SendA(string S){
    xx=yy=0;
    string 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);
    }

    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";
        }
    }

    if(dali)cout<<1/0;

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

#define MAXN 10007
using namespace std;

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

string SendB(int N, int X, int Y){
    
    nn=N; from=X; to=Y;

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

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

    return res;
}

int Answer(string T){

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

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

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

Compilation message (stderr)

Ali.cpp: In function 'void {anonymous}::dfs(int, int, int)':
Ali.cpp:17:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |         for(int i=0;i<v[x].size();i++){
      |                     ~^~~~~~~~~~~~
Ali.cpp: In function 'std::string SendA(std::string)':
Ali.cpp:78:20: warning: division by zero [-Wdiv-by-zero]
   78 |     if(dali)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:31:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |     for(int i=0;i<T.size();i+=28){
      |                 ~^~~~~~~~~
Benjamin.cpp:48:1: warning: control reaches end of non-void function [-Wreturn-type]
   48 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...