Bài 2. (HSG 9 Hải Phòng 2024-2025)

Xem PDF




Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một xâu \(S\) chỉ gồm các ký tự chữ cái trong bảng chữ cái tiếng Anh và các chữ số từ 0 đến 9. Một số trong xâu \(S\) được định nghĩa là một ký tự chữ số hoặc là các kí tự số liên tiếp và không bao gồm các chữ số 0 không có nghĩa.

Ví dụ với xâu \(S =\) "05aAb21bc3956cDe488a" các số có trong xâu là \(5\), \(21\), \(3956\), \(488\).

Yêu cầu: Cho xâu \(S\) chỉ gồm các kí tự chữ cái tiếng Anh và các chữ số. Hãy viết chương trình tìm số chính phương lớn nhất có trong xâu \(S\).

(Số chính phương là số bằng bình phương của một số nguyên, ví dụ \(9\) là số chính phương vì \(9 = 3^2\)).

Input

  • Dữ liệu vào gồm xâu \(S\) chỉ chứa các ký tự chữ cái trong bảng chữ cái tiếng Anh và chữ số.
  • Ràng buộc:
    • Độ dài xâu không quá \(10^5\) ký tự.
    • Dữ liệu đảm bảo xâu \(S\) có không quá \(18\) chữ số có nghĩa liền nhau.

Output

  • In ra số chính phương lớn nhất tìm được hoặc số \(-1\) nếu không tìm được số chính phương nào.

Example

Test 1

Input
aBc2144gHf81Dgf09gf
Output
81
Note

Các số có trong xâu \(S\)\(2144\), \(81\), \(9\). Số chính phương lớn nhất tìm được là \(81\).

Test 2

Input
dGaf21eac056Ude00132aV
Output
-1
Note

Các số có trong xâu \(S\)\(21\), \(56\), \(132\) không có số chính phương.

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): xâu \(S\) có độ dài không quá \(250\) ký tự.
  • Subtask \(2\) (\(30\%\) số điểm): xâu \(S\) có độ dài không quá \(10^3\) ký tự.
  • Subtask \(3\) (\(40\%\) số điểm): theo dữ liệu đề bài.

Bình luận (5)

Mới nhất
Tải bình luận...