В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
somov101
somov101
16.08.2020 22:48 •  Информатика

D. унисон ≡
входной файл:
стандартный вход
 
ограничение времени:
1 сек
выходной файл:
стандартный выход
 
ограничение памяти:
512 мб
максимальный :
100
 

условие
два друга-ирландца фаолан и леон любят петь, особенно в праздники, когда они могут собраться и петь песни вместе. хоть они и друзья, у них не так много общих песен, но это не мешает им пытаться петь разные песни одновременно.
друзья обнаружили, что разные строки двух песен совместимы и могут быть спеты в унисон, если у строк одинаковая интонация, а количество слогов в этих строках совпадает. интонация строки считается восклицательной, если в строке есть восклицательный знак (ascii 33), и нейтральной во всех остальных случаях.
для слогораздела фаолан предлагает использовать общепринятую систему, в которой слогообразующим является гласный звук, и при этом два гласных звука не могут находиться в пределах одного слога. в случае, когда слово целиком состоит из согласных, оно за слог не считается, а производимый им согласный звук сливается со слогом в следующем или предыдущем слове.
когда фаолан и леон поют, они следуют по текстам своих песен слева направо, сверху вниз, с удовольствием распевая в унисон совместимые строки и пропуская все остальные.
сейчас друзья планируют заранее свое выступление, и им интересно, для данных двух песен, сколько суммарно децисекунд они могут пропеть в унисон при условии, что каждый слог пропевается в течение одной децисекунды. естественно, друзей интересует максимально возможная величина.
формат входных данных
в первой строке входных данных содержатся целые числа
n
m
nm
: количество строк в первой и второй песне соответственно. далее следуют
n
+
m
n+m
строк, содержащих текст первой и затем второй песни. каждая строка может состоять только из печатных ascii символов.
формат выходных данных
выходные данные должны содержать одно целое число: максимальное количество децисекунд, в течение которых друзья могут петь в унисон.
ограничения
1

n
,
m

10
6
1≤n,m≤106
n

m

10
7
n∗m≤107
длина каждой строки не превосходит
50
50
.

Показать ответ
Ответ:
qq302894
qq302894
19.06.2020 11:57
1. Вот так сейчас решают подобные задачи:

// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
begin
  Writeln(Range(1,100).Select(i->sin(i)*cos(i)).Where(x->x<>0).Average)
end.

Тестовое решение:
-0.00136006072493969

2. А вот так учат писать это же школьные учителя:

// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
var
  m:array[1..100] of real;
  i,k:integer;
  s:real;

begin
  s:=0;
  k:=0;
  for i:=1 to 100 do begin
    m[i]:=sin(i)*cos(i);
    if m[i]<>0 then begin
      s:=s+m[i];
      k:=k+1
      end
    end;
  Writeln(s/k)
end.

Тестовое решение:
-0.00136006072493969
0,0(0 оценок)
Ответ:
BabyStoyn
BabyStoyn
26.01.2023 05:40
Как ч понял сортировка по неубыванию это сортировка по возрастанию. То есть легкие элементы всплывают наверх, а тяжелые перемещаются вниз:

//Pascal
const m = 1000
var
    arr: array[1..m] of integer;
    n,i, j, k: integer;
begin
    readln(n);
    write ('Исходный массив: ');
    for i := 1 to n do begin
        readln(arr[i]);
    end;
//сортировка методом пузырька   
    for i := 1 to n-1 do
        for j := 1 to n-i do
            if arr[j] > arr[j+1] then begin
                k := arr[j];
                arr[j] := arr[j+1];
                arr[j+1] := k
            end;
 
    write ('Отсортированный массив: ');
    for i := 1 to n do
        write (arr[i]:4);
end.

Алгоритм сортировки на классическом языке программирования С

# define SWAP(A,B) {A=A^B;B=A^B;A=A^B;}
void bubblesort(int A[], int n)
 {
     int i, j;
     for(i = n-1 ; i > 0 ; i--)
          { for(j = 0 ; j < i ; j++)
               {
                   if( A[j] > A[j+1] ) SWAP(A[j],A[j+1]);
               }
           }
   }
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота