Big-O Coding Logo
Big-OCoding
Khóa họcLộ trìnhLuyện phỏng vấnThi đấuBài tậpBảng xếp hạngAI Coding LabSắp ra mắtPremium
Quay lại
Đề bài
|
Lời giải
|
Bài nộp
|
Thảo luận (0)

Bug

Nguồn: Big-O

Secret 512MB

Khi một sản phẩm được tạo ra, việc đánh giá và kiểm thử là vô cùng quan trọng.

VNG vừa cho ra mắt sản phẩm vCloudcam. Do đó, những phản hồi và góp ý từ người dùng là rất cần thiết để hoàn thiện sản phẩm một cách tốt nhất có thể.

vCloudcam là một sản phẩm của VNG Cloud, cung cấp dịch vụ giám sát và lưu trữ trực tuyến dữ liệu camera trên nền tảng công nghệ điện toán đám mây, hỗ trợ đa nền tảng (Web, Mobile App, Desktop).

vCloudcam mang lại nhiều lợi ích như:

  • Kết nối, quản lý tập trung nhiều camera từ nhiều vị trí và truy cập mọi lúc, mọi nơi.
  • Hệ thống thông báo đa kênh, đúng người, đúng thời điểm.
  • An toàn và bảo mật dữ liệu.
  • Các tính năng AI từ đám mây (Cloud) - Giúp camera của bạn trở nên thông minh hơn.
  • Tiết kiệm chi phí thiết lập, lưu trữ và bảo trì hệ thống.
  • Tương thích với hầu hết thiết bị hiện có trên thị trường.
  • Linh hoạt thay đổi và mở rộng dịch vụ.
  • Dễ dàng cài đặt và sử dụng dịch vụ.

Vào một ngày đẹp trời, tại một ngôi làng nọ tên là Bug (ngôn ngữ họ sử dụng cũng có cùng tên với ngôi làng), người dân nghe được thông tin về vCloudcam và rất muốn trải nghiệm thử.

Vì thế, họ đã liên hệ đăng ký với VNG để dùng thử sản phẩm. Họ cũng cam kết sẽ cung cấp những phản hồi chân thật nhằm giúp cải thiện chất lượng sản phẩm.

Tuy nhiên, việc xác định xem những gì họ nói là lời khen hay chê là điều khá khó khăn, bởi người dân trong làng khá đông và ngôn ngữ Bug lại rất kỳ lạ. Do đó, VNG đã xây dựng một mô hình đơn giản để nhanh chóng nhận biết mỗi câu trong ngôn ngữ Bug mang ý nghĩa tiêu cực hay tích cực.

Về Bug, đây là một ngôn ngữ rất đơn giản:

  • Để bày tỏ sự khen ngợi, đồng ý, tán dương điều gì đó (nói cách khác là biểu thị sự tích cực - positive), họ chỉ dùng duy nhất 1 từ: ai (không phân biệt chữ hoa hay chữ thường).
  • Ngược lại, để bày tỏ sự chê bai, không thích, ghét bỏ điều gì đó (nói cách khác là biểu thị sự tiêu cực - negative), họ cũng chỉ dùng duy nhất 1 từ: ia. (không phân biệt chữ hoa hay chữ thường).

Để đơn giản hóa, VNG quyết định đánh giá 1 câu là positive hay negative bằng cách đếm số từ biểu thị sự positive và số từ biểu thị sự negative. Giả sử gọi a, b lần lượt là số từ biểu thị sự positive và negative. Khi đó:

  • Nếu a>ba > ba>b, câu đó là câu positive.
  • Nếu a<ba < ba<b, câu đó là câu negative.
  • Nếu a=ba=ba=b, câu đó là câu trung tính (neutral).

Sau khi thống nhất các quy tắc, giờ đây họ muốn mô hình khi gặp một câu tích cực (positive) sẽ trả về 1, câu tiêu cực (negative) sẽ trả về −1-1−1, và câu trung tính (neutral) sẽ trả về 0.

Đầu vào: Dòng đầu tiên chứa một chuỗi s (1≤len(s)≤1.25⋅1061 \leq len(s) \leq 1.25 \cdot 10^61≤len(s)≤1.25⋅106) — câu nói cần xác định xem mang ý nghĩa positive, negative hay neutral.

Đầu ra: Trả về 1 nếu s biểu thị sự tích cực (positive). Trả về −1-1−1 nếu s biểu thị sự tiêu cực (negative). Trả về 0 trong các trường hợp còn lại.

Giải thích: Ví dụ 1: Ở ví dụ trên, chỉ xuất hiện 1 từ thể hiện sự tích cực là Ai. Do đó, câu trên là câu tích cực (positive).

Ví dụ 2: Ở ví dụ trên, xuất hiện 1 từ thể hiện sự tích cực là ai và 1 từ thể hiện sự tiêu cực là IA. Do số lượng từ chỉ sự tích cực và tiêu cực bằng nhau nên đây là câu trung tính (neutral).

Ví dụ 3: Ở ví dụ trên, chỉ xuất hiện 1 từ thể hiện sự tiêu cực là ia và không có từ nào thể hiện sự tích cực (lưu ý từ aim không phải là từ thể hiện sự tích cực dù có chứa ai). Do đó, đây là câu tiêu cực (negative).

Ví dụ 1:

Đầu vào:

I love VNG Ai

Đầu ra:

1

Ví dụ 2:

Đầu vào:

zxcvbnm IA bnm ai dkjasd

Đầu ra:

0

Ví dụ 3:

Đầu vào:

zxcvbnm ia bnm aim dkjasd

Đầu ra:

-1
Chỉ viết thân hàm, hệ thống tự lo Input/Output
Bài này không hỗ trợ chế độ Viết chương trình
Bật gợi ý code
|
Loading...
Test Case
|
Output
Ln 1, Col 1
Đang tải test ví dụ...