JOI 2007 - Fermat

Xem PDF



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, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 (p) Thời gian: 5.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho số nguyên tố \(p\) và số nguyên dương \(n\). Hãy đếm số bộ ba số nguyên có thứ tự \((x,y,z)\) thỏa mãn \(0 \le x,y,z \le p-1\)

\[ x^n+y^n \equiv z^n \pmod p. \]

Ở đây, \(a \equiv b \pmod p\) nghĩa là \(a-b\) chia hết cho \(p\). Gọi số bộ ba cần tìm là \(m\).

Giới hạn thời gian là \(0{,}5\) giây cho mỗi bộ dữ liệu; giới hạn bộ nhớ là \(64\) MB.

Dữ liệu vào

Đọc từ đầu vào chuẩn:

  • Dòng đầu chứa số nguyên tố \(p\).
  • Dòng thứ hai chứa số nguyên dương \(n\).

Dữ liệu ra

Ghi ra đầu ra chuẩn một dòng chỉ chứa số nguyên \(m\).

Ràng buộc

  • \(p\) là số nguyên tố và \(p<10\,000\).
  • \(1 \le n \le 10\,000\).
  • Trong mọi bộ dữ liệu dùng để chấm, \(m<2^{31}\).

Phân nhóm

\(5\) bộ dữ liệu được chấm độc lập, tổng cộng \(100\) điểm. Không có điều kiện phân nhóm bổ sung được công bố.

  1. Bộ dữ liệu 1: \(20\) điểm.
  2. Bộ dữ liệu 2: \(20\) điểm.
  3. Bộ dữ liệu 3: \(20\) điểm.
  4. Bộ dữ liệu 4: \(20\) điểm.
  5. Bộ dữ liệu 5: \(20\) điểm.

Ví dụ

Ví dụ 1

Input
3
5
Output
9
Giải thích

Có chín bộ ba thỏa mãn \(x^5+y^5 \equiv z^5 \pmod 3\):

\((0,0,0)\), \((0,1,1)\), \((0,2,2)\), \((1,0,1)\), \((1,1,2)\), \((1,2,0)\), \((2,0,2)\), \((2,1,0)\), \((2,2,1)\).

Ví dụ 2

Input
19
21
Output
487
Giải thích

\(487\) bộ ba \((x,y,z)\) với \(0 \le x,y,z \le 18\) thỏa mãn \(x^{21}+y^{21} \equiv z^{21} \pmod {19}\).

Bình luận

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

Không có bình luận nào.

Kỳ thi: