Форум программистов, компьютерный форум CyberForum.ru

Удаление подстрок из строки. Суммировать "вес" удаленных строк - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Антивирусы http://www.cyberforum.ru/cpp-beginners/thread519863.html
На чём кроме C и C++ пишут антивирусы?
C++ метод ньютона плиз проверьте всё ли правильно???логически??? # include <iostream> # include <windows.h> # include <conio.h> # include <stdlib.h> # include <stdio.h> # include <math.h> # include <cmath> # include <iomanip> http://www.cyberforum.ru/cpp-beginners/thread519857.html
Помогите с классами C++
Задание: Разработать классы для описанных ниже объектов. Включить в класс методы set (…), get (…), show (…). Определить другие методы. Написать программу, демонстрирующую работу с этим классом. Abiturient: Фамилия, Имя, Отчество, Адрес, Оценки. Задать проходной балл для поступления и определить, поступил ли абитуриент в ВУЗ. Программа: #include<iostream>
Перегрузка операторов С++ C++
Для строки символов реализовать операции: а) сравнение строк (операция ==); б) удаление из строки заданного символа (операция –). Кроме того, членом класса сделать функцию с именем strset() для удаления из первой строки всех символов, встречающихся во второй строке. я новичок в этой теме, вроде написала, но оно не работает. можете подправить пожалуйста? #include <iostream> #include...
C++ Считать с файла http://www.cyberforum.ru/cpp-beginners/thread519819.html
есть такая вот задачка(чистый С) #include<stdio.h> #include<stdlib.h> void main () { int a,i,S,k; FILE *f, *g, *d; f=fopen("1.txt", "r"); if(f==0) {printf("Takogo faila net!!!\n"); exit(1);}
C++ Типы векторов не одинаковы? Как добавить исключение если при вводе массива векторов тип оказались не одинаковые то ест я создал template <class T> Но при вводе не правильно ввел (допустим) как при таком условии добавить исключение через try и catch? подробнее

Показать сообщение отдельно
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
16.03.2012, 12:33     Удаление подстрок из строки. Суммировать "вес" удаленных строк
Цитата Сообщение от AncinetHero Посмотреть сообщение
Ап в сотый раз...
ну не совсем в сотый...

Цитата Сообщение от AncinetHero Посмотреть сообщение
или услышать от кого-то алгоритм решения
предложу один алгоритм (может быть есть и лучше). На примере:
Цитата Сообщение от AncinetHero Посмотреть сообщение
Например, есть строка abbcca, и заданы такие наборы ( через пробел стоимость подстроки ):
ab 10
bc 20
ca 2
aa 3
Ответом к этим данным есть вес 43 ( 2 раза подряд удаляем bc, потом aa ).
итак имеем строку: abbcca. Что бы было понятней введу понятие текущие варианты - изначально их нет. Итак перебираем символы из заданной строки:
- символ a . Т.к. текущих вариантов нет, то добавляем к ним только (a, 0) - строка и набранные очки.
- символ b . Перебираем наш текущие варианты и получаем (ab, 0). Проверяем от правого конца строки на наличие такого набора (обязательно от правого конца и необязательно набор должен покрывать всю строку). Такой набор есть, поэтому добавляем к текущим вариантам (, 10) - пустая строка и набранные очки. Итого в текущих вариантах: (ab, 0) и (, 10)
- символ b . Получаем в текущих вариантах: (abb, 0) и (b, 10)
- символ c . Получаем в текущих вариантах: (abbc, 0), из которого получаем еще один (ab, 20). Также получаем (bc, 10) из которого получаем (, 30) . Итого в текущих вариантах имеем: (abbc, 0), (ab, 20), (bc, 10), (, 30).
- символ с . Получаем в текущих вариантах: (abbcc, 0), (abc, 20), из которого получаем еще и (a, 40), получаем (bcc, 10), (c, 30). Итого в текущих вариантах: (abbcc, 0), (abc, 20), (a, 40), (bcc, 10), (c, 30).
- символ a . Получаем: (abbcca, 0) из котрого получаем еще и (abbc, 2), (abca, 20) из которого получаем еще и (ab, 20), (aс, 40) из которого получаем еще и (, 43), (bcca, 10) из которого получаем еще и (bc, 12), (ca, 30) из которого получаем еще и (, 32).
По окончании прохода ищем максимальное число в текущих вариантах. В данном случае это 43.
 
Текущее время: 02:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru