Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

URL Validator

(Время: 1 сек. Память: 16 Мб Сложность: 55%)

Для идентификации ресурсов в сети Internet используются URL (Uniform Resource Locator). URL состоит из нескольких элементов: протокол, хост, порт, путь и файл. Некоторые элементы URL могут быть опущены. Рассмотрим упрощенный формат URL:

[http://]host[:port][/path][/file]

Заключенные в квадратные скобки элементы могут быть опущены, то есть, например, можно не указать протокол или файл. Элемент host представляет собой либо IP-адрес – четыре целых числа без лидирующих нулей от 0 до 255, разделенные точкой (например, 212.193.39.146), либо строковое имя ресурса. Во втором случае имя имеет вид prefix.domain, либо это просто имя компьютера.

В первом случае prefix это последовательность одного или более слов, разделенных точкой, а domain – слово из английских букв длиной 2 или 3 символа. А в случае, если host является просто именем компьютера, то host – это одно слово.

Элемент port – это целое число от 0 до 65535 без лидирующих нулей.

Элемент path – это последовательность одного или более слов, разделенных символом «/» (код 47).

Элемент file – это нуль или более слов, разделенных символом точка «.» (код 46).

Слово – это последовательность из одного или более символов. Если не оговорено специально, то допустимыми символами слова считаются английские буквы произвольного регистра, цифры и символ подчеркивание «_» (код 95).

Входные данные

Входной файл INPUT.TXT содержит не более 10000 строк. Все строки содержат символы с кодами от 33 до 127 включительно. Длина каждой строки не превосходит 1000 символов. Размер файла не превосходит 500Кб. Помните, что любой тест (как и любой корректный тестовый файл) заканчивается символом перевода строки.

Выходные данные

В выходной файл OUTPUT.TXT для каждой из строк выведите в отдельной строке «YES», если строка представляет корректную запись URL, либо «NO» в противном случае.

Пример

INPUT.TXTOUTPUT.TXT
1http://acm.sgu.ru/index.html
212.193.39/index.jsp
http://acm.sgu.ru/01/index.php
212.193.39.146/start/index.jsp
YES
NO
YES
YES

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки]


Красноярский краевой Дворец пионеров, (c)2006 - 2024, ИНН 246305493507, E-mail: admin@acmp.ru



узнать код подразделения по серии и номеру паспорта