An ordinal number is a word representing rank or sequential order. The naming convention for royal names is to follow a first name with an ordinal number, which is essentially a Roman numeral used to indicate the birth order of two people having the same name. The Roman numerals from 1 to 50 are defined as follows:
The respective numerals corresponding to numbers 1 through 10 are I, II, III, IV, V, VI, VII, VIII, IX, and X.
The respective numerals corresponding to the numbers 20, 30, 40, and 50 are XX, XXX, XL, and L.
The numeral for any other two-digit number < 50 is constructed by concatenating the numeral(s) for its multiples of ten with the numeral(s) for its values < 10. For example, 47 is 40 + 7 = "XL" + "VII" = "XLVII".
Complete the getSortedList function in your editor. It has 1 parameter: an array of royal name strings, names. Each royal name string consists of a first name, followed by a single space, followed by a Roman numeral. Your function must sort the names lexicographically (alphabetically) by first name; if two or more first names are the same, it must sort those duplicate first names by ascending ordinal number. It must then return the sorted array of royal name strings.
Input Format
The locked stub code in your editor reads the following input from stdin and passes it to your function:
The first line contains an integer, n (the number of elements in names). Each line i of the n subsequent lines contains a string describing royal name i (where 0 ≤ i < n) in the names array.
Constraints
1 ≤ n ≤ 50
Each names[i] (where 0 ≤ i < n) is a single string composed of 2 space-separated values: firstName and ordinal, respectively. Here, firstName is the first name and ordinal is a valid Roman numeral representing a number between 1 and 50, inclusive.
1 ≤ |firstName| ≤ 20
Each firstName starts with an uppercase letter (A − Z) and its remaining characters are lowercase letters (a − z).
Each ordinal is a Roman numeral containing the capital letters I, V, X, and/or L.
The elements in names are pairwise distinct.
Output Format
Your function must return a sorted array of royal name strings. This is printed to stdout by the locked stub code in your editor.
Một số thứ tự là một từ đại diện cho thứ tự xếp hạng hoặc tuần tự. Quy ước đặt tên cho tên gọi Hoàng gia là để theo một tên đầu tiên với một số thứ tự, mà là về cơ bản là một chữ số La Mã được sử dụng để chỉ thứ tự sinh của hai người có cùng tên. Chữ số La Mã từ 1 đến 50 được xác định như sau:Các chữ số tương ứng tương ứng với con số 1 thông qua 10 là I, II, III, IV, V, VI, VII, VIII, IX và X.Các chữ số tương ứng tương ứng với con số 20, 30, 40 và 50 là XX, XXX, XL và L.Số đếm bất kỳ khác hai chữ số < 50 được xây dựng bởi concatenating numeral(s) cho các bội số của 10 tuổi với numeral(s) cho giá trị < 10. Ví dụ: 47 là 40 + 7 = "XL" + "VII" = "XLVII". Hoàn thành các chức năng getSortedList trong trình soạn thảo của bạn. Nó có các tham số 1: một mảng của chuỗi tên Hoàng gia, tên. Mỗi chuỗi tên Hoàng gia bao gồm một tên đầu tiên, theo sau là một không gian duy nhất, theo sau là một chữ số La Mã. Chức năng của bạn phải sắp xếp các tên lexicographically (theo thứ tự ABC) bằng tên đầu tiên; Nếu hai hay nhiều tên như vậy, nó phải sắp xếp những tên đầu tiên trùng lặp theo thứ tự số tăng dần. Nó sau đó phải trả lại các mảng được sắp xếp của các tên Hoàng gia dây. Định dạng đầu vàoMã khóa khai trong trình soạn thảo của bạn đọc sau đây nhập vào từ stdin và vượt qua nó để chức năng của bạn:Dòng đầu tiên có chứa một số nguyên, n (số lượng các yếu tố trong tên). Mỗi dòng i của n dòng tiếp theo có chứa một chuỗi mô tả Hoàng gia tên tôi (nơi 0 ≤ i < n) trong tên mảng. Những hạn chế1 ≤ n ≤ 50Mỗi tên [i] (trong trường hợp 0 ≤ i < n) một chuỗi duy nhất gồm có 2 ngăn cách không gian giá trị: firstName và tự, tương ứng. Ở đây, firstName là tên đầu tiên và tự là một giá trị La Mã mã đại diện cho một số từ 1 đến 50, bao gồm.1 ≤ | firstName | ≤ 20FirstName mỗi bắt đầu với một ký tự chữ hoa (một − Z) và các nhân vật còn lại là chữ (− z).Thứ tự từng là một chữ số La Mã có chứa tỉnh lỵ chữ I, V, X, và/hoặc L.Các yếu tố trong tên là pairwise riêng biệt. Định dạng đầu raChức năng của bạn phải trả lại một mảng được sắp xếp của tên Hoàng gia dây. Điều này được in to stdout bởi mã khóa khai trong biên tập của bạn.
đang được dịch, vui lòng đợi..
Một số thứ tự là một từ đại diện cho cấp bậc hay thứ tự tuần tự. Quy ước đặt tên cho tên hoàng gia là để làm theo một tên đầu tiên với số tự nhiên, trong đó chủ yếu là một chữ số La Mã dùng để chỉ thứ tự sinh của hai người có cùng tên. Các chữ số La Mã 1-50 được định nghĩa như sau:
Các chữ số tương ứng tương ứng với số từ 1 đến 10 là I, II, III, IV, V, VI, VII, VIII, IX và X.
Các chữ số tương ứng tương ứng với số 20, 30, 40, và 50 là XX, XXX, XL, và L.
các chữ số cho bất kỳ số có hai chữ số khác <50 được xây dựng bằng cách ghép các chữ số (s) cho bội số của nó trong mười bằng chữ số (s) cho giá trị của nó <10 Ví dụ 47 là 40 + 7 = "XL" + "VII" = "XLVII".
Hoàn thành các chức năng getSortedList trong trình soạn thảo của bạn. Nó có 1 tham số: một mảng các chuỗi tên của hoàng gia, tên. Mỗi chuỗi tên hoàng gia bao gồm một tên đầu tiên, theo sau là một không gian duy nhất, theo sau là một chữ số La Mã. Chức năng của bạn phải sắp xếp những cái tên thứ tự từ điển (theo thứ tự abc) theo tên gọi đầu tiên; nếu hai hoặc nhiều tên đầu tiên là như nhau, nó phải sắp xếp những cái tên đầu tiên trùng lặp theo tăng dần số thứ tự. Sau đó nó phải trả lại mảng được sắp xếp các chuỗi tên của hoàng gia.
Format Input
Mã còn sơ khai bị khóa trong trình soạn thảo của bạn đọc đầu vào sau từ stdin và vượt qua nó để chức năng của bạn:
Dòng đầu tiên chứa một số nguyên, n (số phần tử trong tên) . Mỗi dòng i của dòng tiếp theo n chứa một chuỗi mô tả tên hoàng i (trong đó 0 ≤ i <n) trong mảng tên.
Hạn
1 ≤ n ≤ 50
Mỗi tên [i] (trong đó 0 ≤ i <n) là một đơn chuỗi gồm 2 giá trị không gian tách biệt: firstName và thứ tự tương ứng. Ở đây, first_name tên đầu tiên và thứ tự là một chữ số La Mã hợp lệ đại diện cho một số từ 1 đến 50, bao gồm.
1 ≤ | firstName | ≤ 20
Mỗi firstName bắt đầu với một chữ cái viết hoa (A - Z) và các nhân vật còn lại là chữ thường. (A - z)
Mỗi thứ tự là một chữ số La Mã có chứa các chữ cái I, V, X, và / hoặc L.
Các yếu tố trong tên là cặp riêng biệt.
Output Format
chức năng của bạn phải trả lại một mảng được sắp xếp các chuỗi tên của hoàng gia. Điều này được in vào thiết bị xuất chuẩn bởi các mã còn sơ khai bị khóa trong trình soạn thảo của bạn.
đang được dịch, vui lòng đợi..