Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
第一个题解从大到小一个个放,试想现在该放第i个,放两边就增加一对说话者,放中间就增加两个说话者,所以f[i,j]:=(f[i-1,j-2]*(i-2)+f[i-1,j-1]<<1)mod 9937; Problem: 3934 User: lydliyudong Memory: 924K Time: 0MS Code Length: 299B Language: Pascal Result: Accepted var f:array[0..80,-1..157]of longint; n,m,i,j:longint; begin f[1,0]:=1; for i:=2 to 80 do for j:=i-1 to i<<1-3 do f[i,j]:=(f[i-1,j-2]*(i-2)+f[i-1,j-1]<<1)mod 9937; read(n,m); while n+m<>0 do begin if m>157 then writeln(0) else writeln(f[n,m]); read(n,m); end; end. Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator