Selezioni Regionali IOI 2003
Giostre (coefficiente di difficolta' D=2)
Il problema
In una fiera di paese sono installate due giostre. La prima giostra (quella di sinistra in figura) è costituita da A≥20 vagoni e gira in senso antiorario, la seconda giostra (quella di destra) è costituita da B≥20 vagoni e gira in senso orario. 
Le due giostre sono così vicine fra loro che in ogni istante c'è un vagone della prima giostra che sfiora un vagone della seconda giostra (quelli colorati di nero in figura), tanto che un ragazzo che stia su uno dei due può saltare sull'altro. Le velocità delle giostre sono regolate in modo tale che, all'istante successivo, i due vagoni adiacenti saranno i due successivi sulle due giostre (quelli colorati di grigio in figura). 

Quindi, un ragazzo che salga su un vagone della prima giostra può passare su un altro vagone della stessa giostra saltando prima sulla seconda e poi di nuovo sulla prima. 
Ora, assumete di conoscere i valori di A e B, e supponete che un ragazzo salga su un vagone della prima giostra: 
1.	Dovete determinare quanti diversi vagoni della prima giostra il ragazzo può visitare. 
2.	Inoltre, dovete determinare il numero minimo B'≥20 di vagoni che la seconda giostra deve avere affinché il ragazzo possa visitare tutti i vagoni della prima giostra. 
File di input
Il file di input, di nome input.txt, è costituito da una singola riga contenente due interi separati da uno spazio: i due interi rappresentano rispettivamente il numero A di vagoni della prima giostra e il numero B di vagoni della seconda giostra. 
File di output
Il file di output, di nome output.txt, è costituito da una singola riga, contenente due numeri interi, separati da uno spazio. Il primo è il numero di vagoni della prima giostra che il ragazzo può visitare. Il secondo è il numero minimo B'≥20 di vagoni che la seconda giostra deve avere affinché il ragazzo possa visitare tutti i vagoni della prima giostra. 
Assunzioni
Si fanno le seguenti assunzioni: 
•	20 ≤= A,B ≤= 32000; 
•	il programma deve terminare la propria esecuzione in meno di 0.1 secondi; 
•	nelle due giostre non ci sono altri passeggeri, a parte il ragazzo; 
•	l'unica possibilità di movimento concessa è quella di saltare da una giostra all'altra quando due vagoni sono adiacenti; in particolare, il ragazzo non può spostarsi direttamente da un vagone all'altro della stessa giostra; 
•	il file di input non contiene altri caratteri oltre a quelli indicati nel testo; 
•	il file di output non deve contenere altri caratteri oltre a quelli indicati nel testo; inoltre, il programma non deve produrre alcun altro input/output oltre a quelli indicati: deve limitarsi a leggere il file di input e a scrivere i risultati sul file di output; 
•	i file di input/output vanno specificati senza alcuna indicazione di path, e quindi verranno aperti in C con un'istruzione tipo 
•				fr = fopen( "input.txt", "r" );
•				fw = fopen( "output.txt", "w" );
		
e in Pascal con un'istruzione tipo 
			assign( fr, 'input.txt' ); reset( fr );
			assign( fw, 'output.txt' ); rewrite( fw );
		
Esempio di input/output
File input.txt 
24 22
	
File output.txt 
12 23