Telephone Directory Alphabetization |
Based on its success in contracting previous software development efforts to programming contest teams, the String & Tin Can (S&TC) Telephone Company has now decided to produce its telephone directories internally. Your team has been hired to develop a program that will take subscriber names and telephone numbers and alphabetize them into a list for printing.
Telephone directories have traditionally used special conventions for alphabetization, and S&TC wants your program to use these conventions. Each subscriber listing consists of one or more ``words,'' where each word is separated from the others by spaces or non-alphanumeric characters. Directories only use the letters A through Z for sorting, ignoring case. Therefore, names that include words comprised of digits or capital letters require special processing.
A listing may contain a word that is a decimal number.
Listings with numbers in them appear in the alphabetized list in
the same location they would if the numbers were spelled out in
English. For example, ``50 Star Company'' might appear just
before ``Fifty Star Vending'' in the list. Numbers are
permitted to be in the range 0-999,999,999. Letters and digits
will not appear together in the same word.
All special (non-alphanumeric) characters are to be treated as spaces. ``Penny-Wise Corporation'' would appear after ``Penny Saver,'' but before ``Pennypinching Company.'' Multiple spaces or non-alphanumeric characters are treated as a single space when sorting. Special characters will not appear at the beginning of a listing.
Words that are comprised of all capital letters are assumed to be initials or acronyms, and are treated as if spaces appeared between each letter. Hence, ``KAT Shop'' would appear at the beginning of the K listings, before ``K-B Enterprises'' and ``K Warehouse''.
Your program need not handle more than 1,000 subscribers-none of the towns S&TC serves in Swamp County have populations larger than that.
8936251KAT Shop 7362812Penny Saver, Inc. 7251887Kate's Company 8372974Fine Foods 9273664Five Star Vending 3523984K-B Enterprises 723621899 Cents Only Store
Fine Foods 837 2974 Five Star Vending 927 3664 KAT Shop 893 6251 K-B Enterprises 352 3984 Kate's Company 725 1887 99 Cents Only Store 723 6218 Penny Saver, Inc. 736 2812