#include #include int *R; // Čísla pravých konců void test(int la, int lb, // Úsek levých konců int ra, int rb, // Úsek pravých konců int on, int flag) // Připojeno (teď resp. alespoň jednou) { int k; // Dělící bod int a, b, c; // Pomocné if (la > lb || ra > rb) // S~jistotou nepřipojeno? return; if (la == lb && ra == rb) // Triviální případ? { if (!flag) { On(la); if (!Measure(ra)) // Přerušeno return; } printf("%d -> %d\n", la, R[ra]); return; } k = (la + lb) / 2; // Testovací situace if (on) for(a=k+1; a<=lb; a++) Off(a); else for(a=la; a<=k; a++) On(a); b = rb+1; // Konec úseku pravých konců bez napětí a = ra; // Testujeme (``rozděl'') while (a