[Buổi 20][Chuỗi][Lab] Bài 2: Parse TNUT Code


LÀM BÀI

Points: 100
Time limit: 1.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C++

Parse TNUT Code

Bối cảnh

Mã dữ liệu có format SCHOOL-BATCH-ID, ví dụ TNUT-K62-001.

Hãy dùng find/substr để tách ba phần; nếu không có đủ hai dấu - hoặc có field rỗng thì INVALID.

Yêu cầu

  1. Tìm dấu '-' thứ nhất.
  2. Tìm dấu '-' thứ hai sau vị trí thứ nhất.
  3. Kiểm tra string::npos và field rỗng.
  4. Nếu hợp lệ, in school batch id; ngược lại in INVALID.

Input

Một dòng chứa code, không có khoảng trắng.

Output

Một dòng kết quả.

Ràng buộc

1 ≤ |code| ≤ 200.

Ví dụ 1

Input

TNUT-K62-001

Output

TNUT K62 001

Giải thích

Chuỗi TNUT-K62-001 có hai dấu -, chia dữ liệu thành ba phần. find() xác định vị trí delimiter thứ nhất và thứ hai; substr() lấy lần lượt TNUT, K62, 001. Ba field được in cách nhau bằng khoảng trắng nên output là TNUT K62 001.

Ví dụ 2

Input

ABC-2026-99

Output

ABC 2026 99

Giải thích

Với ABC-2026-99, cùng một logic find/substr cho ba field ABC, 2026, 99. Ví dụ cho thấy parser không phụ thuộc riêng tiền tố TNUT mà chỉ phụ thuộc cấu trúc ba trường tách bằng dấu -.

Thông tin học tập

  • Module: M06
  • Buổi: B20
  • Loại bài: LAB
  • Độ khó: Medium
  • Concepts: string find, substr, npos, delimiter parsing
  • Giới hạn kiến thức: B01-B20
  • Time limit: 1 second(s)
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo