牛客网-2019校招真题-方格走法
一、题目
有一个X*Y的网格,小团要在此网格上从左上角到右下角,只能走格点且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数int x,int y,请返回小团的走法数目。
输入描述:
输入包括一行,空格隔开的两个正整数x和y,取值范围[1,10]。
输出描述:
输出一行,表示走法的数目
示例1
输入
3 2
输出
10
first try:
1 static void Main(string[] args) 2 { 3 string str=Console.ReadLine(); 4 string[] ss=str.Split(' '); 5 int x=Convert.ToInt32(ss[0]); 6 int y=Convert.ToInt32(ss[1]); 7 8 int kind=1; 9 int i=1; 10 for(;i<=x+y;i++) 11 { 12 kind=kind*i; 13 } 14 i=1; 15 for(;i<=y;i++) 16 { 17 kind=kind/i; 18 } 19 i=1; 20 for(;i<=x;i++) 21 { 22 kind=kind/i; 23 } 24 Console.WriteLine(kind); 25 }
case通过率为80.00%
用例:
10 10
对应输出应该为:
184756
你的输出为:
0
考虑是n的阶乘溢出int,用②
second try:kind定义为int64,通过。