COCI-11 (2011) - Γύρος #3 - 4 (Robot)

View as PDF

Submit solution

Points: 45 (partial)
Time limit: 1.0s
Memory limit: 32M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Robot

Ο Mirko δημιούργησε ένα νέο ρομπότ και αποφάσισε να το δοκιμάσει σε μια γιγάντια πίστα δοκιμών. Μπορούμε να φανταστούμε το κομμάτι δοκιμής ως σύστημα 2D συντεταγμένων. Το ρομπότ ξεκινά από ένα σημείο (0,\;0) και λαμβάνει ένα σύνολο εντολών που υποδηλώνονται με τα γράμματα S,\;J,\;I,\;Z, καθένα από αυτά επισημαίνει μια κατεύθυνση προς την οποία πρέπει να κινείται το ρομπότ.
Πιο συγκεκριμένα, εάν ένα ρομπότ βρίσκεται στο (x,\;y), S ("βόρεια") σημαίνει ότι πρέπει να μετακινηθεί στο (x,\;y+1), J("νότος") σημαίνει ότι πρέπει να μετακινηθεί στο (x,\;y- 1), I («ανατολή») σημαίνει ότι πρέπει να μετακινηθεί στο (x+1,\;y) και Z ("δυτικά") σημαίνει ότι πρέπει να μετακινηθεί στο (x-1,\;y).
Ενώ το ρομπότ λαμβάνει οδηγίες και κινείται στην πίστα δοκιμών, ο Mirko επαληθεύει τη θέση του με τον ακόλουθο τρόπο. Το κομμάτι δοκιμής περιέχει N σταθερά σημεία ελέγχου. Μετά από κάθε εντολή, κάθε ένα από τα σημεία ελέγχου μετρά την απόσταση-Μανχάταν από το ρομπότ. Στη συνέχεια, οι αποστάσεις από όλα τα σημεία ελέγχου αθροίζονται και αποστέλλονται στον Mirko.
Υποθέτοντας ότι το ρομπότ κινείται σύμφωνα με τις οδηγίες χωρίς σφάλμα, υπολογίστε το άθροισμα των αποστάσεων σε όλα τα σημεία ελέγχου μετά από κάθε εντολή.
Παρατήρηση: Η απόσταση-Μανχάταν των σημείων (x1,\;y1) και (x2,\;y2) είναι ίση με |x1 - x2| + |y1 - y2|.

Είσοδος

Η πρώτη γραμμή εισόδου περιέχει θετικούς ακέραιους αριθμούς N (αριθμός σημείων ελέγχου, 1 \leq N \leq 100\,000) και M (αριθμός εντολών, 1 \leq M \leq 300\,000), που χωρίζονται από ένα μόνο διάστημα.
Καθεμία από τις ακόλουθες N γραμμές περιέχει συντεταγμένες ενός σημείου ελέγχου: δύο ακέραιους χωρισμένους στο διάστημα x,\;y, με απόλυτη τιμή μικρότερη από 1\,000\,000 (εκατομμύριο). Είναι πιθανό δύο σημεία ελέγχου να έχουν τις ίδιες συντεταγμένες - η απόσταση προς το καθένα από αυτά προστίθεται στο άθροισμα.
Η ακόλουθη γραμμή περιέχει μια σειρά από M χαρακτήρες από το σύνολο {S,\;J,\;I,\;Z}, την ακολουθία εντολών που αποστέλλονται στο ρομπότ.

Έξοδος

Τυπώστε M: η i-οστή γραμμή εξόδου πρέπει να περιέχει τον περιγραφόμενο αριθμό μετά την i-οστή εντολή.

Παραδείγματα

input

1 3
0 -10
ISI

output

11
12
13

input

3 5
0 0
1 1
1 -1
SIJJZ

output

5
4
3
4
5

Comments

There are no comments at the moment.