22 lines
595 B
TypeScript
22 lines
595 B
TypeScript
export {};
|
|
|
|
const input: string[] = require("fs").readFileSync(0).toString().trim().split('\n');
|
|
|
|
const bridge = (N: number, M: number): number => {
|
|
let dp: number[][] = Array.from({length: N+1}, () => new Array(M+1).fill(0));
|
|
|
|
for(let n=1; n<=N; n++) {
|
|
for(let m=1; m<=M; m++) {
|
|
if (n===1) dp[n][m] = m;
|
|
else if (n===m) dp[n][m] = 1;
|
|
else dp[n][m] = dp[n-1][m-1] + dp[n][m-1];
|
|
}
|
|
}
|
|
|
|
return dp[N][M];
|
|
}
|
|
|
|
input.slice(1).forEach((line) => {
|
|
let [n, m]: number[] = line.split(' ').map(Number);
|
|
console.log(bridge(n,m));
|
|
}); |