...

Pasangan Anagram

by user

on
Category: Documents
0

views

Report

Comments

Transcript

Pasangan Anagram
Problem D
Pasangan Anagram
Istilah “string” dalam pemrogramanan komputer biasanya mengacu pada deret simbol atau barisan
karakter. Berbeda dengan “kata”, string tidak harus memiliki semantik (arti), contoh: XZAAOP adalah
sebuah string; namun tidak ada kata XZAAOP karena XZAAOP tidak memiliki arti, setidaknya di
dalam Bahasa Indonesia yang kita ketahui.
Sebuah string A disebut sebagai anagram dari string B jika dan hanya jika huruf-huruf penyusun A
bisa diacak dan diatur sedemikian rupa membentuk string B. Contoh: DATA dan ADAT adalah
pasangan anagram, begitu juga dengan LAMA dan AMAL, namun API dan APA bukanlah pasangan
anagram karena huruf-huruf penyusun API tidak bisa membentuk string APA.
Diberikan sebuah kamus yang berisi N buah string, tugas Anda adalah menghitung ada berapa
pasangan anagram yang bisa dijumpai di dalam kamus tersebut. Catatan: setiap pasangan anagram
terdiri dari tepat dua string. Di dalam kamus tersebut bisa saja dijumpai dua atau lebih string yang
sama, namun mereka harus diperlakukan layaknya string yang berbeda.
Input
Baris pertama dari input adalah sebuah bilangan bulat T (T ≤ 100) yang menyatakan banyaknya
kasus yang harus ditangani. Setiap kasus dimulai dengan sebuah bilangan bulat N (1 ≤ N ≤ 5.000)
yang menyatakan banyaknya string di dalam kamus yang diberikan. N baris berikutnya masingmasing terdiri dari sebuah string S yang disusun oleh huruf kapital A..Z. Panjang S adalah antara 1
hingga 10, inklusif.
Output
Untuk setiap kasus, output dalam satu baris “Kasus #X: Y” (tanpa kutip) dengan X adalah nomor
kasus dimulai dari 1 secara berurutan, dan Y adalah banyaknya pasangan anagram yang bisa
dijumpai dalam kamus yang diberikan pada kasus tersebut.
Contoh input
Output untuk contoh input
4
4
DATA
ADAT
TADA
TAAD
3
CC
ABC
CBC
5
BINUS
BNPCHS
INBUS
CHAMPION
CSPNBH
2
ABCDEFGHIJ
ABCDEFGHIJ
Kasus
Kasus
Kasus
Kasus
#1:
#2:
#3:
#4:
6
0
2
1
BNPCHS 2014, Final Round - Problem D
Penjelasan contoh kasus 1
Keempat string di dalam kamus yang diberikan adalah anagram satu dengan yang lainnya. Dengan
demikian, kita bisa menjumpai 6 pasangan anagram pada kasus ini:
1. DATA dan ADAT
2. DATA dan TADA
3. DATA dan TAAD
4. ADAT dan TADA
5. ADAT dan TAAD
6. TADA dan TAAD
Penjelasan contoh kasus 2
Tidak ada pasangan anagram yang bisa dijumpai di kasus ini.
Penjelasan contoh kasus 3
Dua pasangan anagram yang bisa dijumpai adalah:
1. BINUS dan INBUS
2. BNPCHS dan CSPNBH
Penjelasan contoh kasus 4
Satu pasangan anagram yang bisa dijumpai adalah:
1. ABCDEFGHIJ dan ABCDEFGHIJ
Kedua string tersebut dianggap string yang berbeda meskipun mereka sama.
BNPCHS 2014, Final Round - Problem D
Fly UP