Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 04.11.2020
Сообщений: 8

Писал олимпиаду на Java и одно из заданий не прошло, пытался исправить, но результат тот же Дана строка из n символов ла

05.12.2020, 12:54. Показов 1036. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу помощи с этой задачей, ту вроде бы всё логично, но проходит только те 2 теста которые в примерах
Дана строка из n символов латинского алфавита нижнего регистра. Далее дано q строк длины n, для каждой i−й строки необходимо ответить на вопрос - является ли i−я строка анаграммой исходной строки.

Входные данные
В первой строчке задается число n - длина исходной строки (1≤n≤103) и q - число запросов (1≤q≤103). Далее идет исходная строка длины n. Затем даны q строк длины n - запросы.

Выходные данные
Необходимо вывести q ответов «Yes» или «No».

Примеры
входные данные
4 3
stop
post
abcd
spot

выходные данные
YES
NO
YES

входные данные
16 1
iamlordvoldemort
tommarvoloriddle

выходные данные
YES




Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.*;
 
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int len = scanner.nextInt();
        int k = scanner.nextInt();
        String sl = scanner.next();
        ArrayList<String> list = new ArrayList<String>();
        boolean flag;
        for(int i = 0; i < k; i++){
            flag = true;
            String x = scanner.next();
            for(int j = 0; j < len; j++){
                String s1 = "" + x.charAt(j);
                if (!sl.contains(s1)){
                    flag = false;
                }
            }
            if (flag == false){
                list.add("NO");
            } else {
                list.add("YES");
            }
        }
        for(int i = 0; i < list.size(); i++){
            System.out.println(list.get(i));
        }
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.12.2020, 12:54
Ответы с готовыми решениями:

Дана строка символов, представляющих собой арифметическое выражение. Подсчитать результат выражения
Дана строка символов, представляющих собой арифметическое выражение. Подсчитать результат выражения. Нужна ваша помощь

Дана строка символов. Сколько раз в ней встречается слог "МИ". 37. Определить самое длинное слово в строке. 38. Дана строка символов. Вывести на
строка символов.36. Дана строка символов. Сколько раз в ней встречается слог &quot;МИ&quot;. 37. Определить самое длинное слово в строке. ...

Дана строка символов, представляющих собой арифметическое выраже0ие. Вывести на экран результат данного выражения
Дана строка символов, представляющих собой арифметическое выраже0ие. Вывести на экран результат данного выражения. Так и не нашёл...

6
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
05.12.2020, 12:56
Misha_Crack, перепиши на C++ и вуаля! - пройдет.
0
0 / 0 / 0
Регистрация: 04.11.2020
Сообщений: 8
05.12.2020, 13:07  [ТС]
Ещё бы я знал C++, тем более если бы даже знал всё равно интересно почему этот не работает
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
05.12.2020, 13:31

Не по теме:

Цитата Сообщение от Misha_Crack Посмотреть сообщение
if (!sl.contains(s1))
Мои глаза кровоточат.


По теме, если пишешь олимпиадную задачу, принято писать также timelimit и memorylimit. Без этих данных все программирование сводится к гаданию на кофейной гуще.
По задаче:
1) Считай кол-во символов в строках в массив int[26];
2) Сравнивай массивы и пиши ответ.
Итого: O(N) - прекеш, O(N) - обработка запроса => O(NQ) - итоговое время работы, где Q - кол-во запросов, N - длина запроса.
1
0 / 0 / 0
Регистрация: 04.11.2020
Сообщений: 8
05.12.2020, 14:12  [ТС]
Сори за то что я такой чайник, но есть 2 вопроса:
Почему именно массив из 26 чисел, когда у нас 12 символов всего получается, и если я правильно понял, вы предлагаете занести каждый символ в массив и уже оттуда их сравнивать
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
05.12.2020, 14:59
Misha_Crack, в алфавите сколько букв?
0
0 / 0 / 0
Регистрация: 04.11.2020
Сообщений: 8
05.12.2020, 15:00  [ТС]
Понял
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.12.2020, 15:00
Помогаю со студенческими работами здесь

Дана строка, содержащая 60 символов. После каждого пятого символа вставить символ пробела. Напечатать результат
Дана строка, содержащая 60 символов. После каждого пятого символа вставить символ пробела. Напечатать результат.

Дана строка, содержащая 60 символов. После каждого пятого символа вставить символ пробела. Напечатать результат
Дана строка, содержащая 60 символов. После каждого пятого символа вставить символ пробела. Напечатать результат.

Дана строка. Сохранить в ней только первые вхождения символов, удалив все остальные. Результат вывести в виде кортежа
Дана строка. Сохранить в ней только первые вхождения символов, удалив все остальные. Результат вывести в виде кортежа.

Дана строка символов до точки. Определить, сколько слов, состоящих из 5 и более символов, содержит данная строка
Доброго времени суток! Нужно решить такую задачу (желательно с блок-схемой): Дана строка символов до точки. Определить, сколько слов,...

Дана строка символов: два предложения, разделенные точкой. Поменять предложения местами и вывести результат на
Помогите , я незнаю как ето запиисать. Дана строка символов: два предложения, разделенные точкой. Поменять предложения местами и вывести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru