Universal Cup Judging System

Universal Cup

시간 제한: 2 s 메모리 제한: 2048 MB 총점: 100 난이도: [표시] 해킹 가능 ✓
통계

Little Cyan Fish sangat menyukai berbagai bahasa. Hari ini, ia ingin memperkenalkan bahasa Kanton kepada Anda.

Suku kata bahasa Kanton dapat ditulis dengan huruf Latin menggunakan Jyutping$^\ast$. Ia memberi Anda sebuah string $s$ dan bertanya apakah string tersebut merupakan ejaan dari satu suku kata bahasa Kanton yang valid tanpa angka nada.

Untuk soal ini, aturan lengkapnya diberikan oleh tabel berikut. Setiap kolom adalah inisial (initial), yaitu bagian awal dari sebuah suku kata, dan setiap baris adalah final, yaitu bagian sisanya. Kolom berlabel $\varnothing$ melambangkan inisial kosong, yang tidak menyumbangkan huruf apa pun. Sel yang berisi $1$ berarti inisial dan final tersebut dapat digabungkan; sel yang berisi $0$ berarti keduanya tidak dapat digabungkan. Ejaan yang valid diperoleh dengan menggabungkan inisial suatu kolom dan final suatu baris yang sel perpotongannya berisi $1$, sesuai urutan tersebut. Tidak ada ejaan lain yang valid.

Bagian final mencakup vokal beserta konsonan penutupnya (jika ada). Final m dan ng adalah bunyi sengau khusus yang dapat membentuk suku kata tanpa vokal; kombinasi yang diperbolehkan untuk keduanya juga telah dicantumkan di dalam tabel. Hanya huruf-huruf yang ditampilkan pada tabel yang ditulis: tidak ada spasi, pemisah, ataupun angka nada.

Sebagai contoh, ngaan dan zeoi adalah ejaan yang valid, sedangkan chong tidak valid. Bantulah Little Cyan Fish memeriksa ejaannya.

Final $\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$Agar tetap sederhana, pada soal ini, Little Cyan Fish telah menghapus angka nada dari catatannya.

Tabel diadaptasi dari Cantonese Pronunciation List of the Characters for Computers (CC BY 4.0) oleh Linguistic Society of Hong Kong, dengan tambahan sebagaimana dijelaskan dalam skema Jyutping beserta ekspansi 2018-nya. Sel-sel di atas mendefinisikan ejaan yang diterima pada soal ini.

Masukan

Baris pertama berisi sebuah bilangan bulat $T$ ($1 \le T \le 10^5$), yaitu banyaknya kasus uji.

Satu-satunya baris pada setiap kasus uji berisi sebuah string $s$ ($1 \le |s| \le 6$), yang hanya terdiri atas huruf kecil (a sampai z).

Keluaran

Untuk setiap kasus uji, keluarkan Yes jika $s$ adalah ejaan yang valid, dan No jika sebaliknya.

Contoh

Masukan 1

5
ngaan
zeoi
chong
jaai
pak

Keluaran 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.