Non riesco a capire perché non funziona.
Ecco qui il codice:
#include
#include
#define MAX 100000
using namespace std;
/* run this program using the console pauser or add your own getch, system(“pause”) or input loop */
int N,Q;
int treno[MAX];
char t[MAX];
int k[MAX];
int cont = 0;
void TrovaPostoRiservato(int postoRiservato)
{
if(treno[postoRiservato] != -1)
{
cont++;
int PostoRiservatoDaTrovare = treno[postoRiservato];
treno[postoRiservato] = postoRiservato;
TrovaPostoRiservato(PostoRiservatoDaTrovare);
}else if(treno[postoRiservato] == -1)
{
treno[postoRiservato] = postoRiservato;
}
}
int main(int argc, char** argv) {
ifstream in(“input.txt”);
ofstream out(“output.txt”);
in>>N>>Q;
for(int i = 0;i<Q;i++)
{
in>>t[i]>>k[i];
}
for(int i = 0;i<N;i++)
{
treno[i] = -1;
}
for(int i = 0;i<Q;i++)
{
int postoRiservato = k[i];
if(t[i] == 'b')
{
for(int j = 0;j<=postoRiservato;j++)
{
if(treno[j] != -1 && j == postoRiservato)
{
TrovaPostoRiservato(postoRiservato);
}
if(treno[j] == -1)
{
treno[j] = postoRiservato;
}
}
}else if(t[i] == 'l')
{
treno[postoRiservato] = -1;
}
}
cout<<cont;
return 0;
}