Ho provato, in effetti il codice ordina correttamente tutti gli elementi, quindi non so se serve postarlo, eccolo cmq per curiosità, l'ho riscritto:
il codice serve per risolvere (correttamente) il problema:codice:#include <cstdlib> #include <iostream> #include <fstream> using namespace std; int N; typedef struct struttura { int inizio; int fine; }; struttura giri [1000]; bool cmp (const struttura & a, const struttura & b) { if (a.fine < b.fine) return true; else return false; } int main(int argc, char *argv[]) { ifstream in("input.txt"); in >> N; for(int i = 0; i < N; i++) { in >> giri[i].inizio >> giri[i].fine; } in.close(); /////////////////////////////// sort(giri, giri + N, cmp); int fine_corr = giri[0].fine; int caramelle = 1; for(int i = 1; i < N; i++) { if(fine_corr < giri[i].inizio) { caramelle++; fine_corr = giri[i].fine; } } /////////////////////////////// ofstream out("output.txt"); out << caramelle; out.close(); return EXIT_SUCCESS; }
Olimpiadi di Informatica - Selezione Regionale 2007
problema Giri sulla Scopa Nimbus3000 (NIMBUS)
ma poco conta ai fini del mio problema

Rispondi quotando