페이지를 불러오는 중…
해결한 사람
1
명
정답률
100.00
%
시간 제한
5
ms
메모리 제한
1024
MB
알고리즘 문제를 푸는 것은 어렵지만, 그보다 더 어려운 경우가 많은 일은 테스트 데이터를 준비하는 것이다.
아랍어 문제를 예로 들어 보자. 이 문제에서 심사위원단은 hej vad heter du (안녕하세요, 이름이 무엇인가요) 같은 걸작을 만드는 데 여러 시간 동안 집중적으로 작업했다.
여기서 한 가지 의문이 생긴다. 짧은 모음을 하나도 포함하지 않는 문자열은 어떻게 만들 수 있을까?
아랍어 문제를 읽었다면, 짧은 모음은 뒤에 적어도 두 개의 자음이 오는 모음이라는 것을 기억할 수 있다.
tall (소나무)라는 단어에서는 'a'가 짧은 모음인 반면, potatis (감자)라는 단어에는 짧은 모음이 하나도 없다.
간단히 하기 위해, 이 문제에서는 a, e, i, o, u, y를 모음으로 센다.
짧은 모음을 하나도 포함하지 않는 단어를 만드는 한 가지 방법은 어떤 단어에서 시작해 그 단어의 일부 글자를 제거하는 것이다. potatis에서 시작하면, 예를 들어 ptais을 얻을 수 있다.
하지만 그 대신 단어가 otats이 되면, 안타깝게도 짧은 모음이 생긴다.
주어진 단어에서 글자를 제거하여 결과에 짧은 모음이 하나도 없도록 하는 방법의 수를 세는 것이 여러분의 과제이다. 글자를 전혀 제거하지 않아도 된다(두 번째 예제에서는 이것이 답에 만큼 기여한다).
하지만 모든 글자를 제거하는 것은 허용되지 않는다. 서로 다른 수의 글자를 제거하여 같은 단어가 만들어지더라도 각각 별도로 센다(첫 번째 예제에서는 tal이라는 단어를 얻는 방법이 두 가지이며, 첫 번째 또는 두 번째 l을 제거할 수 있다).
여러분의 해답은 각각 일정한 점수가 배정된 테스트 그룹들로 채점된다. 각 테스트 그룹에는 테스트 케이스들의 집합이 포함된다. 한 테스트 그룹의 점수를 얻으려면 그 테스트 그룹의 모든 테스트 케이스를 해결해야 한다.
그룹 | 점수 | 제한 조건
|| 의 모든 문자가 같다.
||
|| 추가 제한 조건이 없다.
입력은 최대 50개의 글자로 이루어진 단어 이 있는 한 줄로 구성된다. 이 단어는 a-z의 글자들로만 이루어진다.
글자를 제거하여 짧은 모음이 없는 단어를 만드는 방법의 수를 정수로 출력한다.
뒤쪽 테스트 케이스에서는 답이 항상 비트 정수에 들어맞는 것은 아니라는 점에 유의한다.
tall
13
potatis
107
Programmeringsolympiaden
로그인 상태를 확인하는 중입니다.