#include #include #include #include #include using namespace std; int main() { int S, N, max, r; int Values[204800]; cerr << "Genero in input casuale per ahinoi." << endl; cerr << "Inserisci il seme per il generatore di numeri casuali: "; cin >> S; srand(S); cerr << "Inserisci il numero di lastre N: "; cin >> N; cerr << "Inserisci la massima grandezza delle lastre (almeno 2N): "; cin >> max; assert( max > 2*N ); cout << N << endl; for (int i=0; i<2*N; i++) { // leggo l'array in input Values[i] = (int)(rand()/(INT_MAX+1.0)*(max-2*N)); } sort(Values,Values+2*N); for (int i=0; i<2*N; i++) { Values[i] += i; } for (int i=1; i<2*N; i++) { r = (int)(rand()/(INT_MAX+1.0)*(i+1)); if ( r != i ) { Values[r] ^= Values[i]; Values[i] ^= Values[r]; Values[r] ^= Values[i]; } } for (int i=0; i