Ладьи на шахматной доске
Ещё в детстве маленького Гарика заинтересовал вопрос: а сколькими способами на шахматной доске размером $n × n$ можно расставить $n$ ладей так, чтобы они не били друг друга. Он очень долго решал эту задачку для каждого варианта, а когда решил — бросил шахматы.
А как быстро Вы управитесь с этой задачкой?
Входные данные:
Размер шахматной доски — натуральное число, не превышающее $1000$.
Выходные данные:
Выведите ответ, найденный Гариком.
Тесты
# | ВХОДНЫЕ ДАННЫE: | ВЫХОДНЫЕ ДАННЫЕ: |
---|---|---|
1 | 2 | 2 |
2 | 10 | 3628800 |
3 | 3 | 6 |
4 | 1 | 1 |
5 | 4 | 24 |
Код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.util.Scanner; import java.math.BigInteger; class Main { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); int a = in.nextInt(); BigInteger [] f = new BigInteger[30000]; f[0] = BigInteger.valueOf(1); for(int i = 1; i <= a; i++) { f[i]=f[i-1].multiply(BigInteger.valueOf(i)); } System.out.print(f[a]); } } |