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

Phân tích hàm

Đề bài

Mô tả

Ký hiệu [n]={1,2,,n}. Ta viết f:[x][y] khi hàm f được xác định tại mọi điểm nguyên 1,2,,x và mọi giá trị của nó đều là số nguyên thuộc [1,y].

Cho hàm f:[n][n]. Hãy tìm một số nguyên dương m cùng hai hàm g:[n][m]h:[m][n] thoả mãn đồng thời:

  • g(h(x))=x với mọi x[m];
  • h(g(x))=f(x) với mọi x[n];

hoặc xác định rằng không tồn tại bộ (m,g,h) nào như vậy.

Nếu có nhiều đáp án hợp lệ, bạn được in ra bất kỳ đáp án nào. Dữ liệu đảm bảo rằng nếu bài toán có lời giải thì cũng có lời giải với m106.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n.
  • Dòng thứ hai chứa n số nguyên f(1),f(2),,f(n).

Dữ liệu ra

Nếu không tồn tại đáp án, in ra một số 1.

Ngược lại:

  • Dòng đầu in số m.
  • Dòng thứ hai in n số g(1),g(2),,g(n).
  • Dòng thứ ba in m số h(1),h(2),,h(m).

Ràng buộc

  • 1n105
  • 1f(i)n
  • 1m106

Ví dụ

Input Output Giải thích
3
1 2 3
3
1 2 3
1 2 3
f là hàm đồng nhất, nên chọn m=n=3 với gh đều là hàm đồng nhất.
3
2 2 2
1
1 1 1
2
Với m=1: g(h(1))=g(2)=1, và h(g(x))=h(1)=2=f(x) với mọi x.
2
2 1
-1 Nếu tồn tại đáp án thì f(f(1)) phải bằng f(1), nhưng ở đây f(f(1))=f(2)=12=f(1).

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0