printРабочее место участника

printЗадачи

246. URL

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (2)

Интернет-адрес (URL) обычно выглядит так:
протокол '://' сервер [ ':' порт ] [ '/' путь ]
Квадратные скобки означают, что элемент может отсутствовать. Здесь протокол — это строка ftp, http, https или gopher; сервер — строка, состоящая из букв (a-z,A-Z), цифр, символов точка ('.') и минус ('-'); порт — положительное целое число, не превосходящее 65535; путь — строка, не содержащая пробелов.
Примеры URL:
ftp://acm.baylor.edu:1234/pub/staff/index.html
gopher://veryold.edu
Напишите программу, разбивающую URL на элементы.
В первой строке ввода содержится целое число `n\ (1\ ≤\ n\ ≤\ 100)`, далее следует `n` строк, в каждой строке содержится URL (длина строки не превышает 60 символов).
Для каждого URL напечатайте протокол, сервер, порт и путь. Если порт или путь не указаны в URL, напечатайте <default>. Формат показан в примере. Печатайте пустую строку после каждого случая.

Пример ввода

2
ftp://acm.baylor.edu:1234/pub/staff/mr-p
gopher://veryold.edu

Пример вывода

URL #1
Protocol = ftp
Host     = acm.baylor.edu
Port     = 1234
Path     = pub/staff/mr-p

URL #2
Protocol = gopher
Host     = veryold.edu
Port     = <default>
Path     = <default>

Источник: ACM SWERC, 1997
loading