시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 128 MB | 35 | 6 | 5 | 27.778% |
빙고 게임에서 호스트는 숫자를 읽고, 각 플레이어는 자신의 빙고판에서 그 숫자를 찾는다.
각 플레이어는 1부터 N2까지 숫자가 N행 N열에 적혀있는 판를 들고 있다.
호스트가 숫자를 읽으면, 플레이어는 호스트가 부른 최근 N개의 숫자가 모두 있는 행이 있는지 찾는다. 이때, 그 행에 쓰여 있는 숫자의 순서가 호스트가 숫자를 부른 순서가 같아야 한다. 이런 행을 찾을때마다 플레이어는 1점을 얻는다.
예를 들어, N이 3일때, 플레이어가 다음과 같은 빙고판을 들고있다고 생각해보자.
1 | 3 | 7 |
6 | 4 | 5 |
2 | 8 | 9 |
동혁이는 매일 빙고게임에서 꼴등을 한다. 오늘만은 일등을 하겠다고 다짐한 동혁이는 호스트가 부를 숫자의 순서가 적혀있는 종이를 훔쳐왔다. 이때, 빙고판의 숫자를 적절히 배치했을 때, 얻을 수 있는 최대 점수는 몇인지를 구하는 프로그램을 작성하시오.
첫째 줄에 빙고판의 크기 N과 호스트가 부를 숫자의 개수 B가 주어진다. (2 ≤ N ≤ 4, 1 ≤ B ≤ 10000)
다음 B개 줄에는 호스트가 읽는 숫자가 순서대로 주어진다. 모든 숫자는 1보다 크거나 같고, N2보다 작거나 같다.
첫째 줄에 얻을 수 있는 최대 점수는 몇 점인지 출력한다.
2 11 1 2 1 2 1 2 1 2 3 4 1
5
3 14 1 1 1 1 1 2 3 4 5 6 8 9 9 9
2
Olympiad > Croatian Highschool Competitions in Informatics > 2007 > National Competition #2 - Seniors 2번