Cho \(n\). Các bạn hãy tính \(n!\).
Hẳn các bạn đã gặp bài toán này rất nhiều lần rồi. ami muốn nâng cấp bài toán này lên tầm bài cuối div 1 codeforces, và sau đây là thành quả.
Cho một số \(X\). Hãy đếm xem có bao nhiêu số nguyên không âm \(n\) mà \(n! = X\).
Dòng đầu tiên chứa \(t\) là số câu hỏi.
Mỗi câu hỏi là một số nguyên dương \(X\).
Test 1
3
2
3
6
1
0
1
ami có một xâu kí tự \(S\) gồm các chữ cái tiếng anh thông thường \((a ... z)\). Các bạn cần thêm vào một vài kí tự để xâu này thành xâu đối xứng. Cảm thấy bài này quá đơn giản vì chỉ cần đảo ngược xâu \(S\) và gắn với chính nó là được, ami liền biến nó thành bài khó bằng cách giới hạn số kí tự cần thêm.
Cụ thể, các bạn chỉ được phép thêm tối đa \(1\) kí tự vào cuối xâu \(S\) để biến xâu \(S\) thành xâu đối xứng. Hãy thông báo cho ami biết có cách thêm nào như vậy hay không.
Xâu đối xứng là xâu mà đọc từ trái sang hay phải sang đều giống nhau. Ví dụ \(aba\) là xâu đối xứng còn \(cuomgavl\) thì không phải.
Dòng đầu tiên chứa 1 số nguyên \(t\) là số bài toán bạn phải giải.
\(t\) dòng tiếp theo, mỗi dòng chứa một xâu \(S\).
Test 1
2
lqdoj
a
NO
YES
Cho một mảng gồm \(N\) phần tử và số nguyên \(K(0\le K<N)\).
Nhiệm vụ của chúng ta là xóa đi \(K\) phần tử từ mảng \(A\) sao cho số lượng phần tử còn lại khác nhau là nhiều nhất và in ra giá trị lớn nhất đó
Dòng thứ nhất chứa số nguyên \(T\) - thể hiện số lượng testcase (\(1\le T\le 100\))
\(T\) block tiếp theo ,mỗi block có dạng như sau:
Dòng thứ nhất chứa số nguyên \(N(0<N\le 10000)\)
Dòng thứ hai chứa \(N\) số nguyên \(a_1,a_2,...,a_N(1\le a_i\le N)\)
Dòng thứ ba chứa số nguyên \(K(0\le K<N)\)
\(20\%:0<N\le 10\)
\(40\%:11\le N\le 100\)
\(40\%: 101\le N\le 10^4\)
Test 1
1
3
1 1 2
1
2
Giải thích: Ta chỉ cần xóa đi \(1\) số \(1\) thì số phần tử khác nhau trong những phần tử còn lại lớn nhất là \(2\).
In ra tất cả cặp số nguyên tố \(A,B(A\le B)\) thỏa mãn \(A+B\) cũng là số nguyên tố và \(A+B\le N\). (In theo thứ tự từ điển từ bé đến lớn)
Dòng thứ nhất in ra số \(k\) - số lượng cặp \((A,B)\) thỏa mãn yêu cầu bài toán
In ra \(k\) cặp \((A,B)\) thỏa mãn yêu cầu bài toán (theo thứ tự từ điển từ bé đến lớn).
Subtask \(1\) (\(20\%\) số điểm): \(0<N\le 10\)
Subtask \(2\) (\(20\%\) số điểm): \(0<N\le 10^4\)
Subtask \(3\) (\(60\%\) số điểm): \(\text{Còn lại}\)
Test 1
7
2
2 3
2 5
Cho điểm \(C\) có tọa độ \((x,y)\) trên mặt phẳng \(Oxy\).
Một đường thẳng bất kì đi qua \(C\) cắt trục \(Ox,Oy\) lần lượt tại \(A\) và \(B\) sao cho \(C\) nằm giữa \(A,B\).
Tìm giá trị nhỏ nhất của tích \(P=|CA| * |CB|\)
(Trong đó: \(|CA|,|CB|\) lần lượt là độ dài các đoạn \(CA,CB\))
Một thứ nhất chứa số nguyên \(T(1\le T\le 500)\) - Thể hiện số testcase
\(T\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(x,y(0<x,y\le 10000)\) - Thể hiện tọa độ điểm \(C\)
Subtask \(1\) (\(40\%\) số điểm): x=y
Subtask \(2\) (\(60\%\) số điểm): không có điều kiện gì thêm
Nhân ngày đẹp trời, bố của \(Henry\) đố \(Henry\) một bài toán như sau:
Cho \(2\) số nguyên dương \(n\) và \(m\). Hỏi có bao nhiêu số có \(n\) chữ số thỏa mãn tổng các chữ số của nó bằng \(m\).
Sau một đêm ngẫm nghĩ và nghiên cứu, \(Henry\) nhận ra rằng: bài này không thể đếm theo kiểu tay chân được, nên quyết định lên đây để nhờ các bạn. Là một lập trình viên tài năng, các bạn hãy giúp anh ấy một tay nhé!
Subtask \(1\) (\(20\%\) số điểm): \(0<n\le 6\).
Subtask \(2\) (\(20\%\) số điểm): \(0<m\le 3\).
Subtask \(3\) (\(60\%\) số điểm): không có điều kiện gì thêm.
Test 1
2 3
3
Giải thích: Các số có \(2\) chữ số mà có tổng bằng \(3\) là \(30,12,21\).
Cho điểm \(C\) có tọa độ \((x,y)\) trên mặt phẳng \(Oxy\).
Một đường thẳng bất kì đi qua \(C\) cắt trục \(Ox,Oy\) lần lượt tại \(A\) và \(B\) sao cho \(C\) nằm giữa \(A,B\)
Tìm giá trị nhỏ nhất của \(P=p * |CA|+q*|CB|\).
(Trong đó: \(|CA|,|CB|\) lần lượt là độ dài các đoạn \(CA,CB\) và \(p,q\) là các số nguyên dương cho trước )
Một thứ nhất chứa số nguyên \(T(1\le T\le 500)\) - Thể hiện số testcase
\(T\) dòng tiếp theo, mỗi dòng chứa \(4\) số nguyên \(x,y,p,q(0<x,y,p,q\le 10000)\).
Subtask \(1\) (\(40\%\) số điểm): x = y
Subtask \(2\) (\(60\%\) số điểm): còn lại