trang chủ / đề bài / voi22_matrix

Xây dựng ma trận

Đề bài

Mô tả

Để xây dựng thêm chức năng biến đổi ảnh cho phần mềm vẽ, Nam cần xây dựng ma trận A có tính chất sau:

  • Ma trận có m hàng và n cột, các hàng được đánh số từ 1 đến m từ trên xuống dưới, các cột được đánh số từ 1 đến n từ trái sang phải. Phần tử nằm ở hàng i (1≤i≤m) và cột j (1≤j≤n) kí hiệu là Ai,j, giá trị mỗi phần tử của ma trận đều là các số nguyên dương;
  • Hai phần tử cùng hàng nhưng có chỉ số cột là nguyên tố cùng nhau thì giá trị phải khác nhau. Cụ thể: với 1≤j1,j2≤n và ước số chung lớn nhất của (j1,j2) bằng 1 thì Ai,j1 khác Ai,j2 với mọi i (1≤i≤m);
  • Hai phần tử cùng cột nhưng có chỉ số hàng là nguyên tố cùng nhau thì giá trị phải khác nhau. Cụ thể: với 1≤i1,i2≤m và ước số chung lớn nhất của (i1,i2) bằng 1 thì Ai1,j khác Ai2,j với mọi j (1≤j≤n);
  • Thứ tự từ điển của ma trận là nhỏ nhất có thể.

Ma trận A được gọi là có thứ tự từ điển nhỏ hơn ma trận B (hai ma trận cùng có m hàng và n cột) nếu lần lượt so sánh từng phần tử theo từng hàng từ trên xuống dưới, trên mỗi hàng theo thứ tự từ trái sang phải để tìm phần tử khác nhau đầu tiên thì tại vị trí đó giá trị phần tử của ma trận A nhỏ hơn giá trị phần tử của ma trận B.

Yêu cầu: Cho m và n, gọi S là tổng các phần tử của ma trận, hãy tính Smod(109+7), trong đó mod là phép toán chia lấy dư.

Dữ liệu vào

Một dòng duy nhất chứa hai số nguyên dương m, n cách nhau bởi dấu cách.

Dữ liệu ra

In ra một số nguyên duy nhất là Smod(109+7).

Ràng buộc

  • 1≤m,n≤109.

Subtasks

  • Subtask 1 (20% số điểm): m×n≤104.
  • Subtask 2 (30% số điểm): m=1, n≤109.
  • Subtask 3 (20% số điểm): m,n≤106.
  • Subtask 4 (30% số điểm): m,n≤109.

Ví dụ

Input Output Giải thích
1 3 6 Ma trận thỏa mãn cần tìm là một hàng 1,2,3.
3 3 21 Ma trận thỏa mãn cần tìm có các hàng lần lượt là 1,2,3; 2,1,4 và 3,4,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.402 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.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0