Poslozi
Το "Arrange" είναι ένα παγκοσμίως δημοφιλές flash παιχνίδι.
Στο "Arrange" ο κάθε παίκτης έχει μια
μετάθεση των αριθμών από έως και μια λίστα των επιτρεπόμενων εναλλαγών.
Πρέπει να εκτελέσει μια ακολουθία εναλλαγών που να μετατρέπει την αρχική μετάθεση που έλαβε, σε διατεταγμένη ακολουθία .
Για να μπεις στη λίστα με τις υψηλές βαθμολογίες, πρέπει να εκτελέσεις τον ελάχιστο δυνατό αριθμό από εναλλαγές.
Μπορεί εσείς να μη μπορείτε να το κάνετε αυτό, αλλά μπορείτε να γράψετε ένα πρόγραμμα που να το κάνει για σας!
Είσοδος
Η πρώτη γραμμή περιέχει δύο ακέραιους αριθμούς: το μήκος της αρχικής ακολουθίας , και των αριθμό επιτρεπόμενων εναλλαγών .
Η δεύτερη γραμμή περιέχει μια μετάθεση των αριθμών απο έως .
Οι επόμενες γραμμές περιέχουν περιγραφές των επιτρεπόμενων εναλλαγών.
Εάν η γραμμή περιέχει τους αριθμούς και επιτρέπεται να ανταλλάξετε τον -οστό αριθμό με τον -οστό αριθμό.
Στην είσοδο δεν θα περιλαμβάνονται ποτέ δύο πανομοιότυπες εναλλαγές.
Σημείωση: τα δεδομένα των αρχείων ελέγχου πρέπει να είναι τέτοια ώστε να υπάρχει πάντα λύση, όχι απαραίτητα μοναδική.
Έξοδος
Στην πρώτη γραμμή εκτυπώστε τον ελάχιστο αριθμό εναλλαγών, .
Στις επόμενες γραμμές εκτυπώστε τις απαιτούμενες εναλλαγές, με τη σειρά.
Σε κάθε γραμμή εκτυπώστε τον δείκτη της εναλλαγής που χρησιμοποιήθηκε.
Οι εναλλαγές αριθμούνται όπως εμφανίζονται στην είσοδο, ξεκινώντας από το και αυξάνοντας.
Παραδείγματα
input
2 1
2 1
1 2
output
1
1
input
3 2
2 1 3
1 3
2 3
output
3
2
1
2
input
5 5
1 2 3 4 5
1 5
2 5
1 4
1 1
3 5
output
0
Comments