Submit a solution for c
full score: 100
input file name: input.txt or standard input
output file name: output.txt or standard output
time limit: 1 s
real time limit: 1 s
memory limit: 256m
майже анаграмми
два текстових рядки називаються анаграмами - перший рядок можна отримати із другого перестановкою букв (і навпаки відповідно).
дано два текстових рядки, які виключно із великих літер ійського алфавіту [a-z]. визначте, яку мінімальну кількість букв потрібно викреслити із обох рядків, щоб вони стали анаграмами.
input format
на вхід вводиться два текстові рядки. довжина кожного із рядків не перевищує 1. другий рядок починається з нового абзацу.
output format
у єдиний рядок потрібно вивести число - мінімальну кількість букв, яку потрібно викреслити із обох рядків, щоб вони стали анаграмами.
examples
input output
aazvvcz
dfaazvvv
Файловый вирус — компьютерный вирус, распространяющийся путем внедрения своего кода в тело исполняемых файлов. При каждом запуске такого заражённого файла сначала выполняется код вируса, и только потом — код самой программы.Объектом вирусного поражения могут выступать исполняемые двоичные файлы (EXE, COM), файлы динамических библиотек (DLL), драйверы (SYS), командные файлы(BAT, CMD) и другие. Заражая файл, вирус может внедриться в его начало, конец или середину. Наиболее распространенным является внедрение в конец файла. При этом основной код дописывается в конец файла, а в его начало записывается команда перехода к телу вируса. Чтобы скрыть свое присутствие в системе, файловый вирус может предварительно сохранить дату и время последней модификации и значения атрибутов заражаемого файла, восстановив эти данные уже после заражения.После того как вирус получил управление, он выполняет следующие действия:Восстанавливает в оперативной памяти компьютера исходную программу для последующего её выполнения.Осуществляет дальнейшее заражение, инфицируя другие файлы или оперативную память компьютера.Выполняет иные деструктивные действия.При этом все действия вируса, как правило, незаметны для пользователя программы.Различают резидентные и нерезидентные файловые вирусы. Первые загружают в оперативную память резидентную часть, которая впоследствии может отслеживать открываемые пользователем файлы, заражая их. Нерезидентные вирусы, после того как получили управление, производят поиск файлов для заражения в текущем и (или) корневом каталогах, либо в каталогах, указанных в системной переменной среды PATH.Наиболее распространённые в эпоху DOS файловые вирусы — так называемые «паразитирующие» (большая часть информации в этой статье именно о них). «Паразиты» стараются вести себя как можно более незаметно, не портя функциональности программы, и поэтому излечимы антивирусом. Также выделяют перезаписывающие вирусы, которые при заражении необратимо портят программу, и вирусы-спутники, которые представляют собой отдельный файл. Обратимое заражение Win32-программы не так тривиально, как в DOS, поэтому большинство файловых вирусов для этой ОС было именно спутниками.
const
nDay:array[1..12] of integer=(31,28,31,30,31,30,31,31,30,31,30,31);
type
Date=record
Day,Month,Year:integer
end;
function DOW(Dat:Date):integer;
// день недели по дате. 0-Вс. 1-Пн, 7-Сб
var
a,y,m:integer;
begin
With Dat do begin
a:=(14 - month) div 12;
y:=Year-a;
m:=month+12*a-2;
DOW:=(7000+(day+y+y div 4-y div 100+y div 400+(31*m) div 12)) mod 7
end
end;
procedure DMY2Date(d,m,y:integer; var data:Date);
// Преобразует к дате заданные день, месяц и год
begin
data.Day:=d; data.Month:=m; data.Year:=y
end;
procedure LastDays(month,year:integer; var Wd,Fr:Date);
// даты последней среды (Wd) и пятницы (Fr) для месяца в году }
var
LastDay:Date;
n:integer;
begin
n:=nDay[month];
if (month=2) and (year mod 4 = 0) then Inc(n);
DMY2Date(n,month,year,LastDay);
n:=DOW(LastDay); // номер последнего дня недели
Wd.Month:=month; Wd.Year:=year;
if n<3 then Wd.Day:=LastDay.Day-(n+4)
else
if n=3 then Wd.Day:=LastDay.Day
else Wd.Day:=LastDay.Day+3-n;
Fr.Month:=month; Fr.Year:=year;
if n<5 then Fr.Day:=LastDay.Day-(n+2)
else
if n=3 then Fr.Day:=LastDay.Day
else Fr.Day:=LastDay.Day-1
end;
var
Wd,Fr:Date;
ff,mf:Text;
m:integer;
begin
Assign(ff,'father.txt'); Rewrite(ff);
Assign(mf,'mother.txt'); Rewrite(mf);
// Сентябрь-декабрь 2015 года
for m:=9 to 12 do begin
LastDays(m,2015,Wd,Fr);
if Odd(Wd.Day) then Writeln(mf,Wd.Day,'.',m,'.2015 - 1 класс')
else Writeln(ff,Wd.Day,'.',m,'.2015 - 1 класс');
if Odd(Fr.Day) then Writeln(mf,Fr.Day,'.',m,'.2015 - 5 класс')
else Writeln(ff,Fr.Day,'.',m,'.2015 - 5 класс')
end;
// Январь - май 2016 года
for m:=1 to 5 do begin
LastDays(m,2016,Wd,Fr);
if Odd(Wd.Day) then Writeln(mf,Wd.Day,'.',m,'.2016 - 1 класс')
else Writeln(ff,Wd.Day,'.',m,'.2016 - 1 класс');
if Odd(Fr.Day) then Writeln(mf,Fr.Day,'.',m,'.2016 - 5 класс')
else Writeln(ff,Fr.Day,'.',m,'.2016 - 5 класс')
end;
Close(ff); Close(mf)
end.
Содержимое выходных файлов:
father.txt
30.9.2015 - 1 класс
28.10.2015 - 1 класс
30.10.2015 - 5 класс
30.12.2015 - 1 класс
24.2.2016 - 1 класс
26.2.2016 - 5 класс
30.3.2016 - 1 класс
mother.txt
25.9.2015 - 5 класс
25.11.2015 - 1 класс
27.11.2015 - 5 класс
25.12.2015 - 5 класс
27.1.2016 - 1 класс
29.1.2016 - 5 класс
25.3.2016 - 5 класс
27.4.2016 - 1 класс
29.4.2016 - 5 класс
25.5.2016 - 1 класс
27.5.2016 - 5 класс