Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
PTIT126B - Chọn bài tập |
Mr.LMH đang chuẩn bị đề bài cho một số kì thi. Có tất cả N cuộc thi và Mr.LMH có tất cả M bài tập. Cuộc thi i cần T[i] bài tập khác nhau. Bài tập i lại chỉ có thể được sử dụng trong một số kì thi nhất định. Không có bài tập nào có thể dùng cho 2 kì thi khác nhau. Bạn hãy giúp Mr.LMH xem có thể chọn các bài tập cho các kì thi sao cho số kì thi là tối đa có thể.
Input
Gồm nhiều bộ test, mỗi bộ test có dạng:
- Dòng 1: Số N và M (1 <= N <= 15, 0 <= M <= 50) là số kì thi khác nhau, và số bài tập khác nhau.
- N dòng tiếp theo: Mỗi dòng chứa tên kì thi và số lượng bài tập cần cho kì thi đó. Tên của kì thi gồm các chữ cái Latin viết hoa hoặc thuờng, hoặc chữ số. (0 < Độ dài tên <= 100 ). Không có hai cuộc thi nào có tên trùng nhau. Số lượng bài chỗ mỗi kì thi không quá 100.
- M dòng tiếp theo: Dòng thứ i chứa danh sách (có thể rỗng) các kì thi - cách nhau bởi dấu cách - có thể sử dụng bài thứ i. Đảm bảo rằng, tên của cuộc thi là chính xác và duy nhất.
Input kết thúc bởi dòng chứa 2 số 0.
Output
- Với bộ test thứ i in ra: “Case #i ”, sau đó là số kì thi tối đa có thể chọn.
Example
Input:4 5
IOI 3
IPSC 2
TopCoder 2
SEERC 10
IOI
IPSC TopCoder
IOI IPSC
IOI IPSC
TopCoder SEERC
1 1
SampleContest 1
SampleContest
0 0
Output:Case #1: 2
Case #2: 1
Được gửi lên bởi: | adm |
Ngày: | 2012-03-22 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |