#include // Úloha 26-Z1-6 Nezbední skřítci (známé pořadí skřítků) // Vstup: počet skřítků (N), N řádků s cílovým pořadím daného skřítka #define MAX_N 100000 int N; // počet skřítků int klicka[MAX_N+1]; // pořadí skřítků v klíckách int main() { // načtení vstupu scanf("%d", &N); int i; for (i=1; i<=N; i++) scanf("%d", &klicka[i]); int hmotnost_kostek_nad_nami = 0; for (i=1; i<=N; i++) { // projdeme všechny klícky while (klicka[i] != i) { // dokud v klícce není správný skřítek // prohazujeme: printf("Prohoď skřítky v klíckách %i a %i.\n", i, klicka[i]); int docasna_promenna = klicka[klicka[i]]; klicka[klicka[i]] = klicka[i]; klicka[i] = docasna_promenna; } } return 0; }