Giro di boa (Mat_boa) TLE con solo input

Salve, faccio questo post sul forum poiché cercavo di fare il problema mat_boa, ho sottoposto una soluzione che fa 90. per vedere se il problema fosse nella DFS ho sottoposto un codice in cui prendo solo in input i booleani che indicano gli archi.

#include <bits/stdc++.h>
using namespace std;
int main()
{
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
int N;
cin>>N;
int ool;
for(int i=0;i<N;i++){
	for(int j=0;j<N;j++){
		cin>>ool;
	}
}
}

ma anche questo fa timeout negli ultimi due casi, è possibile risolvere questo problema?

1 Mi Piace

In questo problema l’input è molto grande, l’operazione di lettura di un intero è abbastanza “pesante” (ad esempio deve controllare se il numero ha il segno davanti). Dovresti dichiarare ool di un tipo più “leggero” come unsigned oppure meglio ancora bool o char.

sfortunatamente, dichiararlo bool non ha sistemato il problema

Ho appena provato a sottomettere utilizzando il tuo i/o con char al posto di int e la soluzione sta nei tempi (sebbene per molto poco).

Aggiungendo il cin.tie(NULL) mi ha permesso di lasciare abbastanza tempo per l’esecuzione del codice