DevLab

Məktəb Jurnalı

Orta
sortingmap
3000 ms
256 MB

Şagirdlərin adları və oxuduqları sinif sizə verilir. Məktəbin rəqəmsal jurnalını yaratmalısınız.

Yazacağınız sistem bu üç əməliyyatı dəstəkləməlidir:

  1. Şagird əlavə etmək: Şagirdi müəyyən bir sinfə əlavə edir. (Məsələn, "Aimee-ni 2-ci sinfə əlavə et"). Qəsəbə kiçik olduğu üçün hər şagirdin yalnız bir adı var.

Vacib Qayda: Bir şagird məktəb jurnalına yalnız bir dəfə əlavə edilə bilər. Əgər bir şagird artıq sistemdə varsa (eyni və ya başqa sinifdə fərqi yoxdur), onun yenidən əlavə edilməsi cəhdi uğursuz olmalıdır.

  • Sinif üzrə axtarış: Müəyyən bir sinifdə oxuyan bütün şagirdlərin siyahısını qaytarır. Bu siyahı həmişə əlifba sırası ilə çeşidlənməlidir.

  • Tam jurnal: Məktəbdəki bütün şagirdlərin tam siyahısını qaytarır. Tam siyahı əvvəlcə siniflərə görə (1, 2, 3... artan sıra ilə), daha sonra isə eyni sinif daxilində əlifba sırası ilə çeşidlənməlidir.

Giriş verilənləri:

Birinci sətirdə icra ediləcək komandaların sayını bildirən N tam ədədi verilir.

Növbəti N sətrin hər birində aşağıdakı 3 komandadan biri verilir:

  • ADD <ad> <sinif> – <ad> adlı şagirdi <sinif> nömrəli sinfə əlavə etməyə çalışır.

  • GRADE <sinif> – <sinif> nömrəli sinifdəki şagirdlərin siyahısını tələb edir.

  • ROSTER – Məktəbin tam siyahısını tələb edir.

Çıxış verilənləri:

Hər bir komanda üçün yeni bir sətirdə müvafiq nəticəni çap edin:

  • ADD komandası üçün: Əgər şagird uğurla əlavə olunarsa true, əgər bu adda şagird artıq məktəbdə varsa (cəhd uğursuzdursa) false çap edin.

  • GRADE və ROSTER komandaları üçün: Tələb olunan şagirdlərin adlarını aralarında tək boşluq olmaqla çap edin. Əgər siyahı boşdursa, sadəcə boş sətir (empty line) çap edin.

1Nümunə 1:
Giriş:
5 ADD Blair 2 ADD James 2 ADD James 2 ADD Paul 2 ROSTER
Çıxış:
true true false true Blair James Paul
REDAKTOR
Giriş edin
Giriş:
1 ADD Aimee 2
Çıxış:
true