COCI-21 (2021) - Γύρος #5 - 1 (Kemija)

View as PDF

Submit solution

Points: 15 (partial)
Time limit: 1.0s
Memory limit: 512M

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

coci21e1-figure.svg

Ο Fran δεν έδωσε σημασία στο σχολείο κατά τη διάρκεια του μαθήματος της χημείας και τώρα χρειάζεται τη δική σας βοήθεια για να κάνει την εργασία του. Η εργασία του αποτελείται από n χημικές εξισώσεις για τις οποίες πρέπει να ελέγξει αν βρίσκονται σε ισορροπία. Μια χημική εξίσωση είναι ένας τρόπος αναπαράστασης χημικών αντιδράσεων χρησιμοποιώντας σύμβολα και τύπους. Σε μια χημική αντίδραση, κάποιο σύνολο αρχικών μορίων αντιδρά για να παράξει ένα νέο σύνολο μορίων.

Μια χημική εξίσωση έχει μια αριστερή και μια δεξιά πλευρά. Η αριστερή πλευρά περιέχει τους χημικούς τύπους των αρχικών μορίων, ενώ η δεξιά πλευρά περιέχει τους χημικούς τύπους των παραγόμενων μορίων. Η αριστερή και η δεξιά πλευρά της εξίσωσης χωρίζονται με ένα βέλος (χαρακτήρες ->). Τα διαφορετικά μόρια που εμφανίζονται στην αριστερή ή στη δεξιά πλευρά χωρίζονται με ένα +.

Τα μόρια είναι ουσίες που παράγονται από άτομα, μικροσκοπικά σωματίδια που συμβολίζονται με κεφαλαία γράμματα του Λατινικού αλφαβήτου (για τους σκοπούς αυτής της εργασίας). Ο τύπος ενός μορίου γράφεται παραθέτοντας τα αρχικά όλων των διαφορετικών ατόμων που αποτελούν το μόριο. Εάν ένα μόριο έχει πολλαπλές εμφανίσεις κάποιου ατόμου, τότε ο αριθμός των εμφανίσεων αυτού του ατόμου γράφεται μετά το άτομο στον τύπο. Για παράδειγμα, AC4B είναι ένας τύπος για ένα μόριο που έχει ένα άτομο A,\;4 άτομα C και ένα άτομο B. Αν στη μία πλευρά της εξίσωσης ένα μόριο εμφανίζεται περισσότερες από μία φορές, τότε αυτός ο αριθμός εμφανίσεων γράφεται ως συντελεστής μπροστά από τον τύπο του μορίου. Για παράδειγμα, το 3AC4B υποδηλώνει 3 μόρια AC4B, για ένα σύνολο 3 ατόμων A, 12 ατόμων C και 3 ατόμων B.

Μια χημική εξίσωση λέγεται ότι είναι ισορροπημένη εάν η δεξιά και η αριστερή πλευρά περιέχουν ίσο αριθμό ατόμων κάθε είδους. Το καθήκον σας είναι να προσδιορίσετε εάν κάθε μία από τις n χημικές εξισώσεις είναι ή όχι ισορροπημένη. Οι περιπτώσεις δοκιμής θα είναι τέτοιες ώστε όλοι οι αριθμοί που εμφανίζονται στις αντιδράσεις (οι αριθμοί των ατόμων μέσα στα μόρια και οι αριθμοί των μορίων στις αντιδράσεις) θα έχουν μόνο ένα ψηφίο (και θα είναι μεγαλύτερο από 1).

Είσοδος

Η πρώτη γραμμή περιέχει έναν θετικό ακέραιο n\;(1 \le n \le 100), τον αριθμό των χημικών εξισώσεων.

Κάθε μία από τις επόμενες n γραμμές περιέχει μια ακολουθία χαρακτήρων που αντιπροσωπεύουν μια χημική εξίσωση. Κάθε εξίσωση αποτελείται από το πολύ 1000 χαρακτήρες. Οι εξισώσεις δεν θα είναι απαραίτητα ισορροπημένες, αλλά θα είναι γραμμένες σωστά όπως περιγράφεται στη δήλωση.

Έξοδος

Για καθεμία από τις n εξισώσεις εκτυπώστε DA, εάν είναι ισορροπημένη και NE, εάν δεν είναι, σε ξεχωριστές γραμμές.

Βαθμολογία
 Υποπρόβλημα    Βαθμοί   Περιορισμοί
1 10 Καμία χημική αντίδραση δεν έχει αριθμό.
2 10 Δεν εμφανίζονται αριθμοί σε κανέναν τύπο για μόρια.
3 30 Κανένας επιπλέον περιορισμός.


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

input

3
A+B->AB
AB+CD->AC+DB
AB+B->AB

output

DA
DA
NE

input

2
2AB+A->3AB
2AB+2AC+2BC->4ABC

output

NE
DA

input

4
2H2O+2CO2->2H2CO3
H2SO4->H2O4
NH3+H2SO4->NH4SO4
CH4+2O2->CO2+2H2O

output

DA
NE
NE
DA
Εξήγηση του 3ου παραδείγματος:

Πρώτη εξίσωση: και οι δύο πλευρές έχουν 4 άτομα H, 2 άτομα C και 6 άτομα O, οπότε η απάντηση είναι DA.
Δεύτερη εξίσωση: η αριστερή πλευρά έχει ένα μόνο άτομο S, αλλά η δεξιά πλευρά δεν έχει κανένα, οπότε η απάντηση είναι NE.
Τρίτη εξίσωση: η αριστερή πλευρά έχει 5 άτομα \(Η\), αλλά η δεξιά πλευρά έχει 4, οπότε η απάντηση είναι NE.
Τέταρτη εξίσωση: και οι δύο πλευρές έχουν 4 άτομα H, ένα άτομο C και 4 άτομα O, οπότε η απάντηση είναι DA.


Comments

There are no comments at the moment.