前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队

3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队

作者头像
HansBug
发布2018-04-11 10:20:21
5390
发布2018-04-11 10:20:21
举报
文章被收录于专栏:HansBug's LabHansBug's Lab

3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队

Time Limit: 3 Sec  Memory Limit: 128 MB

Submit: 129  Solved: 84

[Submit][Status][Discuss]

Description

    农夫顿因开始玩飞盘之后,约翰也打算让奶牛们享受飞盘的乐趣.他要组建一只奶牛飞盘

队.他的N(1≤N≤2000)只奶牛,每只部有一个飞盘水准指数Ri(1≤Ri≤100000).约翰要选出1只或多于1只奶牛来参加他的飞盘队.由于约翰的幸运数字是F(1≤F≤1000),他希望所有奶牛的飞盘水准指数之和是幸运数字的倍数.

    帮约翰算算一共有多少种组队方式.

Input

    第1行输入N和F,之后N行输入Ri.

Output

    组队方式数模10^8取余的结果.

Sample Input

4 5 1 2 8 2

Sample Output

3

HINT

    组队方式有(2,3),(3,4),(1,2,4)共三种

Source

Silver

题解:一开始还在想着怎么DFS剪枝= =。。。感觉自己水水哒

其实就是一个水水的DP就完事啦,记得最后要-1(你总不能一个都不要然后还要算一种方法吧)

代码语言:javascript
复制
 1 /**************************************************************
 2     Problem: 3400
 3     User: HansBug
 4     Language: Pascal
 5     Result: Accepted
 6     Time:260 ms
 7     Memory:23704 kb
 8 ****************************************************************/
 9  
10 const p=100000000;
11 var
12    i,j,k,l,m,n:longint;
13    b:array[0..5000] of longint;
14    a:array[0..3000,0..2000] of longint;
15 begin
16      readln(n,m);
17      for i:=1 to n do readln(b[i]);
18      for i:=1 to n do b[i]:=b[i] mod m;
19      fillchar(a,sizeof(a),0);
20      a[0,0]:=1;
21      for i:=1 to n do
22          for j:=0 to m do
23              a[i,j]:=(a[i-1,(j-b[i]+m) mod m]+a[i-1,j]) mod p;
24      writeln(a[n,0]-1);
25      readln;
26 end.   
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-04-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队
  • Description
  • Input
  • Output
  • Sample Input
  • Sample Output
  • HINT
  • Source
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档