Submission #558057

# Submission time Handle Problem Language Result Execution time Memory
558057 2022-05-06T16:06:37 Z groshi Cave (IOI13_cave) C++17
Compilation error
0 ms 0 KB
#include<iostream>
#include<vector>
#include "cave.h"
using namespace std;
bool nwm[5010];
int s1[5010],d1[5010];///s to w ktora strone dobry pstryczek, d1 to ktore drzwi otwiera
/*int tryCombination(vector<int> Q)
{
    for(int i=0;i<Q.size();i++)
        cout<<Q[i]<<" ";
    int x;
    cin>>x;
    return x;
}*/
void exploreCave(int n)
{
    for(int i=0;i<n;i++)
    {
        vector<int> chce;
        for(int j=0;j<n;j++)
        {
            if(nwm[j]==0)
                chce.push_back(0);
            else chce.push_back(s1[j]);
        }
        //cout<<"wstepnie ";
        int k=tryCombination(chce);
        int on;
        if(k!=i)///to znaczy ze s1[i]=0;
            on=0;
        else on=1;
        //cout<<"drzwi "<<i<<" maja "<<on<<"\n";
        int pocz=0,kon=n,sre,ostd;
        while(pocz<kon)
        {
            //cout<<"sprawdzam przedzial "<<pocz<<" "<<kon<<"\n";
            sre=(pocz+kon)/2;
            chce.clear();
            for(int j=0;j<n;j++)
            {
                if(nwm[j]==1)
                    chce.push_back(s1[j]);
                else{
                    if(j<pocz || j>sre)
                        chce.push_back(on);
                    else chce.push_back(!on);
                }
            }
            int k=tryCombination(chce);
            if(k==i)
            {
                //cout<<"w przedziale\n";
                kon=sre;
                ostd=sre;
            }
            else {
                    //cout<<"poza przedzialem\n";
                    pocz=sre+1;
            }
        }
        s1[ostd]=on;
        d1[ostd]=i;
        nwm[ostd]=1;
    }
    vector<int> s;
    for(int i=0;i<n;i++)
        s.push_back(s1[i]);
    vector<int> d;
    for(int i=0;i<n;i++)
        d.push_back(d1[i]);
    answer(s,d);
    /*for(int i=0;i<n;i++)
        cout<<s1[i]<<" ";
    cout<<"\n";
    for(int i=0;i<n;i++)
        cout<<d1[i]<<" ";*/
}

Compilation message

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:27:30: error: cannot convert 'std::vector<int>' to 'int*'
   27 |         int k=tryCombination(chce);
      |                              ^~~~
      |                              |
      |                              std::vector<int>
In file included from cave.cpp:3:
cave.h:8:24: note:   initializing argument 1 of 'int tryCombination(int*)'
    8 | int tryCombination(int S[]);
      |                    ~~~~^~~
cave.cpp:49:34: error: cannot convert 'std::vector<int>' to 'int*'
   49 |             int k=tryCombination(chce);
      |                                  ^~~~
      |                                  |
      |                                  std::vector<int>
In file included from cave.cpp:3:
cave.h:8:24: note:   initializing argument 1 of 'int tryCombination(int*)'
    8 | int tryCombination(int S[]);
      |                    ~~~~^~~
cave.cpp:71:12: error: cannot convert 'std::vector<int>' to 'int*'
   71 |     answer(s,d);
      |            ^
      |            |
      |            std::vector<int>
In file included from cave.cpp:3:
cave.h:9:17: note:   initializing argument 1 of 'void answer(int*, int*)'
    9 | void answer(int S[], int D[]);
      |             ~~~~^~~