移动路线(信息学奥赛一本通-T1194)
生活随笔
收集整理的這篇文章主要介紹了
移动路线(信息学奥赛一本通-T1194)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目描述】
X桌子上有一個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<iostream> using namespace std; int a[30][30]; int main() {int m,n;int i,j;cin>>m>>n;for(i=1;i<=m;i++)a[i][1]=1;for(j=1;j<=n;j++)a[1][j]=1;for(i=2;i<=m;i++)for(j=2;j<=n;j++)a[i][j]=a[i-1][j]+a[i][j-1];cout<<a[m][n]<<endl;return 0; }?
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的移动路线(信息学奥赛一本通-T1194)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 进程概念
- 下一篇: 集合的划分(信息学奥赛一本通-T1315