Đếm số hoán vị tốt

Đề bài

Mô tả

Cho dãy gồm n cặp số nguyên (a1,b1),(a2,b2),,(an,bn). Dãy được gọi là xấu nếu nó được sắp xếp không giảm theo phần tử thứ nhất, hoặc được sắp xếp không giảm theo phần tử thứ hai. Ngược lại, dãy được gọi là tốt.

Với một hoán vị p1,p2,,pn của 1..n, ta thu được dãy mới sp1,sp2,,spn.

Hãy đếm số hoán vị p sao cho dãy sau khi áp dụng hoán vị là tốt. In kết quả theo modulo 998244353.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số cặp.
  • n dòng tiếp theo, mỗi dòng chứa hai số nguyên aibi.

Dữ liệu ra

Một số nguyên duy nhất — số hoán vị thỏa mãn, lấy theo modulo 998244353.

Ràng buộc

  • 1n3·105
  • 1ai,bin

Ví dụ

Input Output Giải thích
3
1 1
2 2
3 1
3 6 hoán vị; chỉ 3 trong số đó tạo ra dãy mà cả phần tử thứ nhất lẫn phần tử thứ hai đều không sắp xếp không giảm.
4
2 3
2 2
2 1
2 4
0 Mọi ai đều bằng nhau nên dãy phần tử thứ nhất luôn không giảm, bất kể hoán vị.
3
1 1
1 1
2 3
4 Trong 6 hoán vị, có 4 hoán vị làm cho cả hai dãy đều không không-giảm.

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