模擬題 質因數分解 排列組合 桃園之禮

2021-10-09 19:47:30 字數 2376 閱讀 1801

【題目描述】

小林和亮亮在桃園裡一起玩遊戲。桃園裡的桃樹成行成列,剛好構成乙個n×m

n×mn×

m的矩陣,亮亮在某些桃樹下放置了一些小禮物,要求小林把所有樹下的禮物全部收集起來。小林從左上角的桃樹(1,

1)

(1,1)

(1,1

)出發,走到右下角的桃樹(n,

m)

(n,m)

(n,m

)。他只能沿著路徑向下或者向右走,某些桃樹下有禮物,他必須到達所有有禮物的樹 下並把禮物收集起來。小林在出發前,想請你幫他計算一下,他有多少種不同的走法。由於答案可能很大,你只需要輸出答案模100000000(1

08

)100000000(10^8)

100000

000(

108)

後的值即可。

【輸入格式】

第一行三個整數n,m

n,mn,

m和kk

k。n,

mn,m

n,m表示矩陣的大小,k

kk表示有禮物的桃樹的

棵數。接下來k

kk行,每行兩個整數x,y

x,yx,

y,表示一棵有禮物的桃樹的座標(x,

y)

(x,y)

(x,y)。

【輸出格式】

只有乙個整數,表示不同的走法數模100000000

100000000

100000

000後的值。

【樣例輸入】

5 4 1

2 2

【樣例輸出】

20
【資料規模】

對於30

%30\%

30%的資料,1

<=n

,m

<=30

1<=n,m<=30

1<=n

,m<=3

0;對於100

%100\%

100%

的資料,1

<=n

,m

<

=30000,0

<=k

<

=10000,1

<=x

<=n

,1

<=y

<=m

1<=n,m<=30000,0<=k<=10000,1<=x<=n,1<=y<=m

1<=n

,m<=3

0000

,0<=k

<=1

0000

,1<=x

<=n

,1<=y

<=m

。先將起點(1,

1)

(1,1)

(1,1

)與終點(n,

m)

(n,m)

(n,m

)存入結構體內,再依據x

xx座標從大到小將結構體排序,如果x

xx座標相同則按照y

yy座標從大到小排序。列舉每一點,如果這個點的y

yy座標比上乙個點的y

yy座標要小,說明答案為000。

記a

aa為當前點橫座標與上乙個點橫座標之差,b

bb為當前點縱座標與上乙個點的縱座標之差。一共要走a+b

a+ba+

b步,選取其中的a

aa步橫向走,因此從上乙個點到當前點路線條數為ca+

ba

c_^a

ca+ba​

。注意此題的模數不是乙個質數,因此還要進行質因數分解。

一開始做這道題的時候並沒有注意到模數不是質數,因此沒有進行質因數分解,只得了一半的分。

**如下:

#include#define n 10000+10

#define m 60000+10

#define ll long long

using namespace std;

ll n,m,k;

struct nodea[n];

bool v[m];

ll p[m],f[m],cnt,cur;

ll mod=1e8;

ll ans=1;

void prime() }}

ll power(ll a,ll &b)

return ans;

}void calc(ll x,ll v)

ll c(ll x,ll y)

bool cmp(node a,node b)

int main()

ans=(ans*c(x+y,y))%mod; }

printf("%lld",ans);

return 0;

}

質因數分解

題目16 將乙個正整數分解質因數。例如 輸入90,列印出90 2 3 3 5。程式分析 對n進行分解質因數,應先找到乙個最小的質數k,然後按下述步驟完 成 1 如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。2 如果n k,但n能被k整除,則應列印出k的值,並用n除以k的商,作為新...

質因數分解

短除法 求乙個數分解質因數,要從最小的質數除起,一直除到結果為質數為止。分解質因數的算式的叫短除法 和除法的性質差不多,還可以用來求多個個數的公因式 求 最大公因數的一種方法,也可用來求 最小公倍數。求幾個數最大公因數 的方法,開始時用觀察比較的方法,即 先把每個數的因數找出來,然後再找出公因數,最...

質因數分解

講乙個數分解為幾個質數相乘的結果 int a maxn 用來存質因數 int b maxn 用來存質因數的個數 int main if n 1 不能忘記這一步操作 輸出 第1種寫法 a a a b b b b c c printf 第一種寫法 for int i 1 i tot i else pri...