Thông minh nhân tạo

Xem dạng PDF

Gửi bài giải

Điểm: 800 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, ObjC, OCaml, Pascal, Perl, PHP, Pike, Prolog, PyPy, Python, Racket, Ruby, Rust, Scala, Scheme, Scratch, Sed, Swift, TCL, Turing, VB, Zig

Trong thế kỷ ~\texttt{XXI}~ chúng ta thấy được sự phát triển vượt bậc của công nghệ trí tuệ nhân tạo (~\texttt{AI}~). Một trong những tính năng quan trọng nhất của một mô hình trí tuệ nhân tạo tốt là khả năng tự học, tức là ~\texttt{Machine Learning}~. Một mô hình được gọi là có khả năng tự học, khi và chỉ khi nó có thể tự cải thiện độ chính xác của mình mà không cần sự giám sát liên tục của con người.

Ở bài toán này bạn cần phải xây dựng một mô hình tự học đơn giản như sau: ban đầu bạn sẽ được cho tập ~S~ gồm ~n~ câu hỏi, sẽ có lần lượt ~Q~ thao tác, mỗi thao tác thuộc hai dạng như sau:

  • ~\texttt{@ Q A}~: cung cấp thông tin rằng đáp án của câu hỏi thứ ~Q~ là xâu ~A~ (có thể có khoảng trắng).
  • ~\texttt{? Q}~: hỏi với câu hỏi ~Q~ (là một chuỗi các ký tự có thể có khoảng trắng) thì đáp án là gì.

~\texttt{Input}~

  • Dòng đầu tiên gồm số nguyên ~n~.
  • ~n~ dòng tiếp theo, dòng thứ ~i~ chứa xâu thể hiện câu hỏi thứ ~i~
  • Dòng tiếp theo gồm số nguyên ~q~
  • ~q~ dòng cuối cùng, mỗi dòng biểu diễn một thao tác như trên.

~\texttt{Output}~

  • Ứng với mỗi thao tác hỏi, in ra câu trả lời trên một dòng.

~\texttt{Sample Input}~

2
What is always approaching but never arrives?
The more you see the less there is?
5
@ 1 The future
? What is always approaching but never arrives?
? The more you see the less there is?
@ 2 Darkness
? The more you see the less there is?

~\texttt{Sample Output}~

The future
abcxyz
Darkness

~\texttt{Constraint}~

  • ~1 \leq n, Q \leq 10^5~.

~\texttt{Subtask}~

  • Subtask ~1~ (~50\%~ số điểm): câu trả lời luôn được cung cấp trước khi hỏi.
  • Subtask ~2~ (~50\%~ số điểm): không có giới hạn gì thêm.

~\texttt{Scoring}~

Đối với mỗi test gọi ~J~ là số câu hỏi mà chương trình của BTC trả lời đúng còn ~P~ là số câu hỏi mà chương trình của bạn trả lời đúng điểm của bạn sẽ được tính như sau:

  • Nếu ~P \ge J~ bạn đạt ~100\%~ số điểm test đó.
  • Nếu ~P < 40\% \times J~ bạn đạt ~0\%~ số điểm test đó.
  • Nếu ~40\% \times J \leq P \leq J~ bạn đạt ~\frac{P}{J}^5\times 100\%~ số điểm test đó.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.