note operative
il programma deve fare input solo da file e fare output solo su file, non deve usare printf e scanf. Se nella fase iniziale di scrittura dell’algoritmo le usate per vedere cosa succede nel programma, poi dovete togliere tutti gli input da tastiera e output a video (non sono accettati); quindi NON UTILIZZARE assolutamente funzioni che arrestano l’esecuzione del programma (come ad es. system(“pause”), getch() o simili).
per ogni programma viene valutata la correttezza di esecuzione su N prove ma anche l’uso di risorse da parte del programma (tenerne conto se si adottano soluzioni ricorsive); quindi attenzione all'uso degli ordinamenti, che sono molto pesanti! se è necessario usare qsort
nella fase iniziale conviene risolvere solo l'algoritmo (parte centrale del problema) con input da tastiera (o assegnando valori alle variabili in base agli input d’esempio forniti dal testo) e output su video, utilizzando strutture dati (es. struct, array) e senza uso di file.
se l'algoritmo funziona, fare una versione 2 in cui utilizzare file per input e scrivere su file di output.
quando fate la versione che legge/scrive con file, di solito NON è necessario effettuare controlli su file di input; infatti di solito:
- il file è dato (quindi esiste) o lo create voi con i dati d'esempio (con blocco notes, denominato “input.txt” e scrivendo il contenuto in base agli esempi proposti nel testo del problema)
- non è vuoto
- contiene valori corretti (non fare controlli sui valori o rendere case- insensitive)
- considerare solo il modo in cui sono memorizzati i dati (se su una sola riga, se su più righe)
- considerare il modo in cui memorizzare su file di output (un solo valore, più valori su una riga, più valori incolonnato...)
seguire attentamente le indicazioni fornite nell'ambiente di gara e nel regolamento!