¿La página no carga? Prueba haciendo clic aquí.
Placeholder

#1451

밀크쉐이크 1s 128MB

Problemas

당신은 밀크쉐이크 가게의 주인이다. 당신은 총 N가지의 서로 다른 맛의 밀크쉐이크를 준비할 수 있는데, 각 밀크쉐이크에 대해 '발효시킨' 경우와 '발효시키지 않은 경우'로 나눌 수 있다. 따라서 당신은 전체 2N 가지 종류의 밀크쉐이크를 만들 수 있다.

당신의 고객들은 각기 다른 취향의 소유자이다. (물론 그중에 몇 명이 같을 수도 있다.) 당신의 고객은 적어도 한 가지 이상의 당신 가게의 메뉴를 선호한다. 하지만 '발효시킨' 밀크쉐이크의 경우는 최대 한 가지만 좋아한다. 발효시키면 밀크쉐이크 본래의 맛을 잃어버리기 때문에 어느 누구도 두 가지 이상의 발효 밀크쉐이크를 좋아하지는 않는다.

이제 당신은 밀크쉐이크 N개를 판매하고자 하고, 아래의 세 가지 조건을 만족시키고 싶어 한다.

  • 각각의 밀크쉐이크는 전체를 발효시키거나 발효시키지 않아야 한다. 즉 한 종류의 밀크쉐이크에 대하여 일부만 발효시켜서 팔수는 없다.

  • 당신의 고객은 적어도 한 가지 이상의 밀크쉐이크를 좋아한다.

  • 발효시키는데 돈이 많이 들기 때문에, 당신은 가능하면 발효시키지 않고 팔려고 한다. (즉, 발효과정을 최소로 한다. )

당신은 찾아온 고객을 단 한 명도 외면할 수 없다. 모든 고객을 만족시키면서 위의 세 가지 조건을 만족하는 경우 발효시키는 밀크쉐이크의 개수의 최소 개수를 구하는 프로그램을 작성한다.

만약 어떻게 하더라도 원하는 밀크쉐이크를 얻을 수 없는 고객이 있다면 "IMPOSSIBLE"을 출력한다.


Entrada

첫 번째 줄에는 밀크쉐이크의 개수 N이 입력된다. (1≤N≤10)

그 다음 줄에는 고객의 수 M이 입력된다. (1≤M≤100)

세 번째 줄부터 M개의 줄에는 i 번째 고객이 좋아하는 밀크쉐이크에 대한 정보가 입력되는데, 형식은 다음과 같다.

  • T\ X_1\ Y_1\ X_2\ Y_2\ ...\ X_T\ Y_T

  • T : 좋아하는 밀크쉐이크의 개수, X_i : 좋아하는 밀크쉐이크의 번호 (1≤Xi≤N), Y_i : X_i번 밀크쉐이크가 발효된 것을 좋아할 경우 1, 아닐 경우 0

  • 같은 고객에 대해서 Xi가 중복되어 등장하는 것은 없다.

  • 고객들은 적어도 하나 이상의 밀크쉐이크를 좋아한다.(T>=1)

  • 고객들은 적어도 하나 이상의 발효된 밀크쉐이크를 좋아한다.


Salida

입력에 대해 모든 고객을 만족시킬 수 있는 밀크쉐이크를 만들 수 있을 경우, 발효시키는 밀크쉐이크의 최소 개수를 출력하고, 불가능할 경우 "IMPOSSIBLE"을 출력한다.


Ejemplo

5 

3
1 1 1
2 1 0 2 0
1 5 0
1

Fuente

GCJ 2008
Debes iniciar sesión para escribir código.