[C++] Pazzo

Questa mattina è successo un fatto piuttosto insolito… L’assistente tecnico del laboratorio è uscito di senno e si è messo a cambiare gli ip dei computer in rete! Questo non sarebbe un grosso problema se non fosse per il fatto che anche l’IP del server è stato modificato… Adesso ci sono grossi problemi a capire quale degli N computer del laboratorio è il server. Fino a ieri i computer erano numerati da 0 a N-l e il computer che si trovava nella prima posizione (la posizione 0) era il server, tutti gli altri computer da 1 a N-l sono ordinati secondo la loro posizione. Fortunatamente il laboratorio possiede un file di log dove vengono salvate tutte le modifiche agli indirizzi di rete dei vari dispositivi. Allo stato attuale in questo file sono presenti M righe. Ogni riga di questo file contiene due numeri, i e j che indicano i numeri dei pc che sono stati scambiati dal tecnico. Dopo un’analisi preliminare Edoardo, l’allievo incaricato di risolvere questo pasticcio, si è accorto che in ogni scambio i pc coinvolti avevano una posizione adiacente!
Scrivere un programma che dato in input N, M e la lista degli M scambi ritorni il numero del pc con l’IP del server.

Input
Il programma deve leggere da un file di nome ‘input.txt’. Nella prima riga sono presenti due interi, N e M separati da uno spazio. Nelle successive M righe sono presenti delle coppie di interi i, j separate da spazio

Output
Il programma deve scrivere in un file di nome ‘outpu.txt’. Deve essere scritto un solo intero, il numero del PC con l’IP del server.

input.txt            output.txt
5  5                    2
0  1
3  4
0  2
4  0
2  1

Basta tenere conto, negli spostamenti, del pc a cui è assegnato l’ ip del server:

 

Related Posts Plugin for WordPress, Blogger...