trang chủ / bài tập / brandnew

Bài toán mới toanh

Đề bài

Mô tả

Cho một bài toán mẫu gồm n từ đôi một khác nhau. Ngoài ra có m bài toán trong kho lưu trữ, mỗi bài là một dãy từ (các từ trong một bài kho có thể lặp lại).

Ta định nghĩa "độ giống nhau" giữa bài toán mẫu và một bài toán trong kho như sau. Xét tất cả các hoán vị của n từ trong bài mẫu. Nếu tồn tại một hoán vị xuất hiện như một dãy con của bài toán trong kho, ta chọn trong số đó hoán vị có số nghịch thế nhỏ nhất, gọi số nghịch thế đó là x. Khi đó độ giống nhau bằng:

p=n(n1)2x+1

Số nghịch thế của một hoán vị là số cặp từ đứng không đúng thứ tự so với thứ tự ban đầu trong bài mẫu (cặp vị trí i<j mà từ ở vị trí i vốn đứng sau từ ở vị trí j trong bài mẫu).

Bài toán mẫu được gọi là hoàn toàn mới nếu không có bất kỳ bài toán nào trong kho chứa một hoán vị các từ của bài mẫu như một dãy con.

Hãy xác định bài toán mẫu có phải là hoàn toàn mới hay không; nếu không, chỉ ra bài toán trong kho giống bài mẫu nhất.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số từ trong bài toán mẫu.
  • Dòng thứ hai chứa n từ cách nhau bởi dấu cách, mô tả bài toán mẫu.
  • Dòng thứ ba chứa số nguyên m là số bài toán trong kho.
  • m dòng tiếp theo, mỗi dòng mô tả một bài toán trong kho dưới dạng "k s1 s2 sk", trong đó k là số từ của bài đó và si là các từ.

Mọi từ chỉ gồm các chữ cái Latinh thường và có độ dài không quá 10.

Dữ liệu ra

  • Nếu bài toán mẫu là hoàn toàn mới, in ra dòng "Brand new problem!" (không có dấu ngoặc kép).
  • Ngược lại, dòng đầu in chỉ số của bài toán trong kho giống bài mẫu nhất (nếu có nhiều bài, in bài có chỉ số nhỏ nhất; các bài đánh số từ 1). Dòng thứ hai in chuỗi gồm hai ký tự [:, sau đó là ký tự | lặp lại p lần, rồi hai ký tự :], với p là độ giống nhau giữa bài mẫu và bài đó.

Ràng buộc

  • 1n4
  • 1m10
  • 1k20
  • Các từ trong bài toán mẫu đôi một khác nhau.

Ví dụ

Input Output Giải thích
4
find the next palindrome
1
10 find the previous palindrome or print better luck next time
1
[:||||||:]
Bài kho thứ 1 chứa hoán vị "find the palindrome next" như một dãy con, với 1 nghịch thế. Vậy p=4·321+1=6.
3
add two numbers
3
1 add
2 two two
3 numbers numbers numbers
Brand new problem! Không bài kho nào chứa đủ cả ba từ như một dãy con.
3
add two decimals
5
4 please two decimals add
5 decimals want to be added
4 two add decimals add
4 add one two three
7 one plus two plus three equals six
3
[:|||:]
Bài kho thứ 3 cho hoán vị "two add decimals" (1 nghịch thế), p=31+1=3.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0