Điểm:
200 (p)
Thời gian:
0.5s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Như chúng ta đã biết, Rubik là một khối lập phương gồm có \(6\) mặt: trắng, u: khối \(2 * 2 * 2\), khối \(3 * 3 * 3\), khối \(4 * 4 * 4\), khối \(5\) *đỏ, vàng, cam, xanh lá, xanh dương. Có rất nhiều loại rubik khác nha \(5 * 5,...;\) ngoài ra còn có các dạng rubik biến thể khác.
Mấy bữa nay Tí đang tìm hiểu về rubik, Tí muốn biết khối rubik \(n^3\) được tạo thành từ bao nhiêu khối nhỏ hơn(khối ở tâm, khối ở cạnh, khối ở góc). Ví dụ: khối \(2 * 2 * 2\) có \(8\) khối nhỏ hơn ghép lại.
Input
- Dòng thứ nhất chứa số \(T(1 \leq T \leq 100000)\) - Thể hiện số lượng test case.
- \(T\) dòng tiếp theo, mỗi dòng chứa số nguyên \(n. (2 \leq n \leq 10 ^ {18})\).
Output
- Ứng với mỗi testcase, in ra số khối cần tìm khi chia lấy dư cho \(1000000007\).
Example
Test 1
Input
2
2
3
Output
8
26
Bình luận
T = int(input())
MOD = 1000000000007
for _ in range(T):
n = int(input())
if n == 2:
print(8)
else:
print((6 * (n - 2) * (n - 2) + 12 * (n - 2) + 😎 % MOD)
1+12×(n−1)+8×(n−1)^2
bài này ổn nhé nhưng......
Khó đếy +1 respect cho ng giao đề
Gợi ý: Vì những cục từ 3*3 trờ lên không có khối ở trong lõi nên sẽ trừ ra.
=> Số khối là n^3 - (n-2)^3
kkk
|| Hint
\(\(6n(n-2) + 8\)\)
||
....
Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.
1 bình luận nữa