[COCI1213 - Contest 05] Bài 1: LJESTVICA

Xem PDF

Nộp bài

Điểm: 100 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 1G
Input: bàn phím
Output: màn hình

Tác giả:
Dạng bài

Veronica theo học tại một học viện âm nhạc. Cô ấy được đưa cho một bản nhạc gồm một bản nhạc chỉ có các nốt nhạc (không có chú thích) và cần nhận biết thang âm được sử dụng. Trong bài toán này, chúng ta sẽ giới hạn ở hai thang âm được sử dụng thường xuyên nhất (và thường được dạy trước tiên ở trường): A-thứ và C-trưởng. Điều này không làm cho chúng trở nên đơn giản hoặc cơ bản hơn các âm giai thứ và âm giai trưởng khác – tất cả các âm giai thứ đều tương đương lẫn nhau, ngoại trừ việc dịch thuật, và các âm giai trưởng cũng vậy.

Tuy nhiên, trong số 12 âm của quãng tám {A, A#, B, C, C#, D, D#, E, F, F#, G, G#} được sử dụng trong âm nhạc hiện đại, các thang âm A-thứ và C-trưởng vẫn sử dụng các thanh có tên ngắn nhất: A-thứ được định nghĩa là một bộ bảy có thứ tự (A, B, C, D, E, F, G) và C-trưởng là (C, D, E, F, G, A, B ).

Lưu ý rằng tập hợp các âm của hai thang âm này bằng nhau. Có gì khác biệt? Điều đáng chú ý là không chỉ tập hợp các âm mà cả cách sử dụng chúng cũng quyết định thang âm. Cụ thể, âm bổ (âm đầu tiên của thang âm), âm trầm (âm thứ tư) và âm chủ (âm thứ năm) là những ứng cử viên chính cho âm có dấu trong một tác phẩm. Trong A-thứ, đây là A, D và E, và trong C-trưởng, chúng là C, F và G. Chúng ta sẽ đặt tên cho các âm chính này.

Không phải thang đo vẫn được lưu tương đương để dịch sao? Chúng không phải như vậy: ví dụ, âm thứ ba của âm A-thứ (C) cao hơn âm bổ (A) ba nửa cung, trong khi âm thứ ba của âm C trưởng (E) cao hơn âm bổ (C) bốn nửa cung. Do đó, sự khác biệt nằm ở khoảng thời gian. Điều này làm cho âm giai thứ “buồn” và âm giai trưởng “vui”.

Viết chương trình để quyết định xem một tác phẩm có nhiều khả năng được viết ở giọng A thứ hay C trưởng bằng cách đếm xem có nhiều âm chính của A thứ hay C trưởng trong số các âm có dấu (âm đầu tiên trong mỗi ô nhịp). Nếu có số lượng âm chính bằng nhau, hãy xác định thang âm dựa trên âm cuối cùng (đảm bảo là A cho A thứ hoặc C cho C trưởng trong bất kỳ trường hợp thử nghiệm nào như vậy).

Ví dụ, hãy xem xét giai điệu nổi tiếng “Frère Jacques”2:

CD|EC|CD|EC|EF|G|EF|G|GAGF|EC|GAGF|EC|CG|C|CG|C

Ký tự “|” các ô nhịp riêng biệt, do đó, các âm có trọng âm theo thứ tự: C, E, C, E, E, G, E, G, G, E, G, E, C, C, C, C. Mười trong số chúng (C, C, G, G, G, G, C, C, C, C) là các âm chính của C-trưởng, trong khi sáu (E, E, E, E, E, E) là các âm chính của A-thứ. Vì vậy, ước tính tốt nhất của chúng tôi là bài hát được viết bằng C trưởng.

Input

  • Dòng đầu tiên và duy nhất chứa một chuỗi ít nhất 5 và tối đa 100 ký tự từ tập hợp {“A”, “B”, “C”, “D”, “E”, “F”, “ G”, “|”}. Đây là ký hiệu đơn giản hóa cho một tác phẩm, trong đó ký tự “|” biện pháp tách biệt. Các ký tự “|” sẽ không bao giờ xuất hiện liền kề nhau, ở đầu hoặc cuối chuỗi.

Output

  • Dòng đầu tiên và duy nhất của đầu ra phải chứa văn bản “C-dur” (đối với C-trưởng) hoặc “A-mol” (đối với A-thứ).

Sample Input 1

AEB|C

Sample Output 1

C-dur

Sample Input 2

CD|EC|CD|EC|EF|G|EF|G|GAGF|EC|GAGF|EC|CG|C|CG|C

Sample Output 2

C-dur

Bình luận đầu tiên

Bình luận

Không có bình luận nào.