2718:移動路線(又是一個放蘋果)

來源:互聯網
上載者:User

標籤:

2718:移動路線

  • 查看
  • 提交
  • 統計
  • 提問

總時間限制: 

1000ms

 

記憶體限制: 

65536kB

描述

×桌子上有一個m行n列的方格矩陣,將每個方格用座標表示,行座標從下到上依次遞增,列座標從左至右依次遞增,左下角方格的座標為(1,1),則右上方方格的座標為(m,n)。
小明是個調皮的孩子,一天他捉來一隻螞蟻,不小心把螞蟻的右腳弄傷了,於是螞蟻只能向上或向右移動。小明把這隻螞蟻放在左下角的方格中,螞蟻從
左下角的方格中移動到右上方的方格中,每步移動一個方格。螞蟻始終在方格矩陣內移動,請計算出不同的移動路線的數目。
對於1行1列的方格矩陣,螞蟻原地移動,移動路線數為1;對於1行2列(或2行1列)的方格矩陣,螞蟻只需一次向右(或向上)移動,移動路線數也為1……對於一個2行3列的方格矩陣,如所示:

-------------------
|(2,1)|(2,2)|(2,3)|
-------------------
|(1,1)|(1,2)|(1,3)|
-------------------

螞蟻共有3種移動路線:
路線1:(1,1) → (1,2) → (1,3) → (2,3)
路線2:(1,1) → (1,2) → (2,2) → (2,3)
路線3:(1,1) → (2,1) → (2,2) → (2,3)

輸入

輸入只有一行,包括兩個整數m和n(0<m+n<=20),代表方格矩陣的行數和列數,m、n之間用空格隔開

輸出

輸出只有一行,為不同的移動路線的數目。

範例輸入

2 3

範例輸出

3

 

#include<cstdio>#include<iostream>#define ref(i,x,y) for(register int i=x;i<=y;i++)using namespace std;int a[110][110];//表示到1,1->i,j 的方案數 int n,m;int main(){    //freopen("sh.in","r",stdin);    scanf("%d%d",&n,&m);    ref(i,1,max(n,m)) a[i][1]=1,a[1][i]=1;    ref(i,2,n) ref(j,2,m)        a[i][j]=a[i-1][j]+a[i][j-1];    printf("%d\n",a[n][m]);    return 0;}

 

2718:移動路線(又是一個放蘋果)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.