跪求此题

到百度贴吧首页
新闻   网页   贴吧   知道   MP3   图片   视频   百科
    吧内搜索 | 帮助
  • 共有6篇贴子

跪求此题

222.249.0.*

1楼

阿呆和大土豆
文件名:d.pas
输入文件:d.in
输出文件:d.out
作为对阿呆工作的奖赏,阿呆得到了一大堆很大很大很大的大土豆,但是,阿呆只带了一个纸袋去拿,因此他只能拿走总重量不超过p的土豆。阿呆在研究了这些土豆后发现:
1、他的纸袋可以装下最重的土豆:)
2、他的纸袋装不下所有的土豆:(
3、所有土豆的重量都是2的幂@_@,这一定是特种土豆……
现在,阿呆希望你计算出装走土豆总重量最大的方案。
输入格式:
第1行:两个用空格分开的整数p、n,1<=n<=30,表示阿呆的纸袋能拿走的最大重量为p,最重的土豆重量为2^n。
第2行:n+1个用空格分开的整数x[0]~x[n],表示重量为2^i的土豆有x[i]个。
输出格式:
若干行,每行2个整数a、b,中间用一个空格分开,表示阿呆装走重量为2^a的土豆b个,要求按a的降序输出。
输入样例:
123 6
1 1 1 1 1 1 1
输出样例:
6 1
5 1
4 1
3 1
1 1
0 1


222.249.0.*

2楼

数字组合
源程序名    compages .??? (PAS,C,CPP)
可执行文件名 compages .exe
输入文件名   comapges .in 
输出文件名 compages .out
[问题描述]:
在N个数中找出其和为M的若干个数。先读入正整数N(1<N<100)和M(1<M<10000), 再读入N个正数(可以有相同的数字,每个数字均在1000以内), 在这N个数中找出若干个数, 使它们的和是M, 把满足条件的数字组合都找出来以统计组合的个数,输出组合的个数(不考虑组合是否相同)。要求你的程序运行时间不超过1秒。
[输入]:
第一行是两个数字,表示N和M。
第二行起是N个数。
[输出]:
就一个数字,表示和为M的组合的个数。
[样例]:
compages .in
4 4
1 1 2 2

compages .out
3

125.107.108.*

3楼

我也在找啊
122.13.78.*

4楼

http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f7227b8a8f452189c65f93130a1d5a15a3fd7c734e53b79e2b2216af3e0fabb22173435876a09abe894bd9afd7756fde28652d43c412478458b8cb37679261&p=c271d31b85cc46e909bd9b7d59&user=baidu
125.107.142.*

5楼

var
 m,n,k,i,j:longint;
 a:array[-1000..10000] of longint;
begin
assign(input,'compages.in');
reset(input);
assign(output,'compages.out');
rewrite(output);
readln(n,m);
for n:=1 to n do
 begin
 read(k);
 for j:=m downto k do
 if a[j-k]<>0 then
 a[j]:=a[j]+a[j-k]
 else
 if j=k then inc(a[j]);
 end;
writeln(a[m]);
close(input);
close(output)
end.

6楼

简单,把十进制转为二进制,即可把每个袋子转换为一些土豆重量的和

发表回复

内 容:
用户名:
  
©2010 Baidu 贴吧协议  意见反馈