Universal Cup Judging System

Universal Cup

حد الوقت: 2 s حد الذاكرة: 2048 MB مجموع النقاط: 100 الصعوبة: [عرض] قابلة للهجوم ✓
الإحصائيات

Little Cyan Fish aime beaucoup les différentes langues. Aujourd'hui, il souhaite vous présenter le cantonais.

Les syllabes cantonaises peuvent s'écrire en lettres latines à l'aide du Jyutping$^\ast$. Il vous donne une chaîne de caractères $s$ et vous demande s'il s'agit de l'orthographe d'une syllabe cantonaise valide sans numéro de ton.

Pour ce problème, les règles complètes sont données par le tableau suivant. Chaque colonne correspond à une initiale, la partie située au début d'une syllabe, et chaque ligne correspond à une finale, la partie restante. La colonne intitulée $\varnothing$ représente une initiale vide, qui n'apporte aucune lettre. Une cellule contenant $1$ signifie que l'initiale et la finale peuvent être combinées ; une cellule contenant $0$ signifie qu'elles ne le peuvent pas. Une orthographe valide s'obtient en concaténant l'initiale d'une colonne et la finale d'une ligne dont la cellule correspondante contient $1$, dans cet ordre. Aucune autre orthographe n'est valide.

La finale comprend sa voyelle ainsi qu'une éventuelle consonne finale. Les finales m et ng sont des sons nasaux particuliers qui peuvent former des syllabes sans voyelle ; leurs combinaisons autorisées figurent également dans le tableau. Seules les lettres indiquées dans le tableau sont écrites : il n'y a ni espaces, ni séparateurs, ni numéros de ton.

Par exemple, ngaan et zeoi sont des orthographes valides, tandis que chong ne l'est pas. Aidez Little Cyan Fish à vérifier son orthographe.

Finale $\varnothing$ b p m f d t n l g k ng h gw kw w z c s j
aa 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
aai 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
aau 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 1
aam 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0
aan 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 0
aang 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1
aap 1 0 0 0 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1
aat 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 0
aak 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1
a 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
ai 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
au 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1
am 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1
an 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
ang 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
ap 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1
at 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1
ak 1 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0
e 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 1 1
ei 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 0 1 0
eu 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0
em 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
en 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eng 0 1 1 1 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1
ep 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0
et 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
ek 0 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 1 0
i 0 1 0 1 0 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1
iu 0 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1
im 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1
in 0 1 1 1 0 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1
ing 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1
ip 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1
it 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1
ik 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1
o 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
oi 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0
ou 1 1 1 1 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 0
on 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0
ong 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
ot 1 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0
ok 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
oe 0 0 0 0 0 1 1 0 1 1 1 0 1 0 0 0 1 0 1 0
oeng 0 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 1 1 1 1
oet 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0
oek 0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1
eoi 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1
eon 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 1
eot 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 0
u 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0
ui 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 0
um 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
un 0 1 1 1 1 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0
ung 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1
up 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ut 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 0 0 0
uk 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1
yu 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
yun 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 1 1 1
yut 0 0 0 0 0 1 1 0 1 1 1 0 1 0 0 0 1 1 1 1
m 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
ng 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0

$^\ast$Pour simplifier les choses dans cette tâche, Little Cyan Fish a retiré les numéros de ton de ses notes.

Tableau adapté de la Cantonese Pronunciation List of the Characters for Computers (CC BY 4.0) de la Linguistic Society of Hong Kong, avec les ajouts décrits dans le schéma Jyutping et son extension de 2018. Les cellules ci-dessus définissent les orthographes acceptées dans ce problème.

Entrée

La première ligne contient un entier $T$ ($1 \le T \le 10^5$), le nombre de cas de test.

L'unique ligne de chaque cas de test contient une chaîne de caractères $s$ ($1 \le |s| \le 6$), composée uniquement de lettres minuscules (a à z).

Sortie

Pour chaque cas de test, affichez Yes si $s$ est une orthographe valide, et No sinon.

Exemples

Entrée 1

5
ngaan
zeoi
chong
jaai
pak

Sortie 1

Yes
Yes
No
Yes
No

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.