Задача
Петрик і Марічка захопились грою поле-чудес: Марічка записує слово, що складається з великих англійських букв, а Петрик старається розпізнати його, причому відгадана буква відкривається на всіх позиціях, де вона міститься. За яку найменшу кількість ходів Петрик зможе відгадати задане слово.
Вхідні дані
Слово записане великими англійськими буквами (не більше [latex]100[/latex] символів).
Вихідні дані
Відповідь до задачі.
Тести
Вхідні дані | Вихідні дані |
[latex]GOOGLE[/latex] | [latex]4[/latex] |
[latex]ALBUS[/latex] | [latex]5[/latex] |
[latex]OOO[/latex] | [latex]1[/latex] |
Код програми
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 31 |
/* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */ class Main { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); String s; s = in.next(); for (int j = 0; j < s.length(); j++) { int i = j + 1; while(i< s.length()) { if (s.charAt(j) == s.charAt(i) && i!= j) { String s1=s.substring(0, i); String s2 = s.substring(i+1,s.length()); s=s1.concat(s2); } else i++; } } System.out.println(s.length()); } } |
Рішення завдання
Створимо місце для слова і прочитаємо його,далі для того, щоб однакові букви йшли поряд і заведемо змінну, спочатку рівну [latex]1[/latex], так як слово складається мінімум з однієї букви, і будемо збільшувати її на [latex]1[/latex], якщо зустрінеться нова буква..
Код програми з множиною
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
/* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */ class Main { public static void main (String[] args) throws java.lang.Exception { SortedSet <Character> set = new TreeSet<>(); Scanner in = new Scanner(System.in); String s = in.next(); for(int i = 0; i < s.length(); i++){ set.add(s.charAt(i)); } System.out.print(set.size()); } } |
Рішення завдання
Створимо місце і прочитаємо слово. Подалі кожну букву слова запишемо, як елемент множини [latex]і.[/latex] Так як множина автоматично видаляє всі однакові елементи, то відповіддю до завдання буде кількість елементів множини.
Посилання
Умова завдання на e-olymp.com.
Код рішення на ideone.com.
Код рішення з множиною на ideone.com.