早教吧作业答案频道 -->其他-->
pascal求大神1206:趣味彩票时间限制:1Sec内存限制:128MB提交:150解决:50[提交][状态][讨论版]题目描述现今,社会上流行着各种各样的福利彩票,彩票已经融入到了人们的日常生活之中
题目详情
pascal求大神
1206: 趣味彩票
时间限制: 1 Sec 内存限制: 128 MB
提交: 150 解决: 50
[提交][状态][讨论版]
题目描述
现今,社会上流行着各种各样的福利彩票,彩票已经融入到了人们的日常生活之中。彩票之所以能吸引那么多的人们,玩法多是一大原因。
小明五一放假和爸爸一起到广州游玩,发现了一种趣味彩票,玩法新颖,有别于传统的彩票形式。规则是这样的:
1.彩票中心每期随机产生N行M列整数(整数范围为-100~100);
2.彩民选取1~10000之间的任意一个整数P,P即为选取的彩票号码;
3.彩票中心产生特等奖号码的规则如下:
(1) 从随机产生的N*M个数中选取M个数,每列必须选取一个,这样有NM种选法。
在已选的M个数中,再选取若干个连续的数,如果这些数的和是NM种选法中所有连续序列里最大的,则称之为“幸运号码序列”。
(2)计算“幸运号码序列”的和,得到特等奖号码。
彩票中心请小明来编这个程序----计算特等奖号码,可是小明学习编程不久,你能帮助小明完成这个艰巨的任务吗?
输入
输入文件共有N+1行:
第1行有两个数:N(1<=N<=100)和M(1<=M<=10001),中间用空格隔开;
第2行至第N+1行:每行为随机产生的M个整数。
输出
输出文件共有2行:
第1行:特等奖号码;
第2行:“幸运号码序列”中数的个数,(如果有相同的和,输出其中最短的序列个数);
样例输入 Copy
3 5-50 -47 36 -30 -2317 -19 -34 -13 -8-42 -3 -43 34 -45
样例输出 Copy
844
提示
数据规模
20%的数据: N<=1000 40%的数据: N<=5000
100%的数据: N<=10001
来源
[提交][状态][讨论版]
1206: 趣味彩票
时间限制: 1 Sec 内存限制: 128 MB
提交: 150 解决: 50
[提交][状态][讨论版]
题目描述
现今,社会上流行着各种各样的福利彩票,彩票已经融入到了人们的日常生活之中。彩票之所以能吸引那么多的人们,玩法多是一大原因。
小明五一放假和爸爸一起到广州游玩,发现了一种趣味彩票,玩法新颖,有别于传统的彩票形式。规则是这样的:
1.彩票中心每期随机产生N行M列整数(整数范围为-100~100);
2.彩民选取1~10000之间的任意一个整数P,P即为选取的彩票号码;
3.彩票中心产生特等奖号码的规则如下:
(1) 从随机产生的N*M个数中选取M个数,每列必须选取一个,这样有NM种选法。
在已选的M个数中,再选取若干个连续的数,如果这些数的和是NM种选法中所有连续序列里最大的,则称之为“幸运号码序列”。
(2)计算“幸运号码序列”的和,得到特等奖号码。
彩票中心请小明来编这个程序----计算特等奖号码,可是小明学习编程不久,你能帮助小明完成这个艰巨的任务吗?
输入
输入文件共有N+1行:
第1行有两个数:N(1<=N<=100)和M(1<=M<=10001),中间用空格隔开;
第2行至第N+1行:每行为随机产生的M个整数。
输出
输出文件共有2行:
第1行:特等奖号码;
第2行:“幸运号码序列”中数的个数,(如果有相同的和,输出其中最短的序列个数);
样例输入 Copy
3 5-50 -47 36 -30 -2317 -19 -34 -13 -8-42 -3 -43 34 -45
样例输出 Copy
844
提示
数据规模
20%的数据: N<=1000 40%的数据: N<=5000
100%的数据: N<=10001
来源
[提交][状态][讨论版]
▼优质解答
答案和解析
由于输入没有加上回车,所以根据我的判断,数据应该是这样的:
输入:3 5
-50 -47 36 -30 -23
17 -19 -34 -13 -8
-42 -3 -43 34 -45
输出:84
4
我根据这个数据写了一个程序,思路如下:
首先,因为是在每一列中寻找一个数,组成有M个数的一串数,同时使得这一串数的和最大。那么显然我们每次都取出这一行中的最大数,这样贪心地取数显然不会得到更差的方案。然后我们再对这一串数做一遍O(N)连续子序列最大值即可。当然,如果你不会O(N)的算法,也可以用O(N^2)的前缀和优化连续子序列最大值。当然,这不是重点,网上的题解还是很多的。详见程序:
var
i,j,n,m,x,t,ans,max,head,tail:longint;//ans表示最大值的序列长度,也就是“幸运号码序列”中数的个数,max为最大值,也就是特等奖号码,head为当前序列的头指针,tail为尾指针
a:array[0..101,0..1001] of longint;//表示这O(MN)个数
begin
readln(n,m);
for i:=1 to n do
begin
for j:=1 to m do
read(a[i,j]);
readln;
end;//读入
for i:=1 to m do//枚举M行
begin
x:=a[1,i];
for j:=2 to n do
if a[j,i]>x then
x:=a[j,i];//x表示第i行的最大值,此处为更新最大值
tail:=i;//尾指针后移一位
if t>=0 then t:=t+x else//t≥0,显然直接累加不会得到更差的方案
begin
head:=i;//t<0,那么将t赋为x,不会得到更差的方案,当然,头指针要赋为i
t:=x;
end;
if t>max then//刷新最大值
begin
max:=t;
ans:=tail-head+1;//更新最大值,同时长度一起更新
end else
if t=max then//与最大值相等
if tail-head+1 ans:=tail-head+1;//更新最大值下的最小长度
end;
writeln(max);
writeln(ans);
end.
输入:3 5
-50 -47 36 -30 -23
17 -19 -34 -13 -8
-42 -3 -43 34 -45
输出:84
4
我根据这个数据写了一个程序,思路如下:
首先,因为是在每一列中寻找一个数,组成有M个数的一串数,同时使得这一串数的和最大。那么显然我们每次都取出这一行中的最大数,这样贪心地取数显然不会得到更差的方案。然后我们再对这一串数做一遍O(N)连续子序列最大值即可。当然,如果你不会O(N)的算法,也可以用O(N^2)的前缀和优化连续子序列最大值。当然,这不是重点,网上的题解还是很多的。详见程序:
var
i,j,n,m,x,t,ans,max,head,tail:longint;//ans表示最大值的序列长度,也就是“幸运号码序列”中数的个数,max为最大值,也就是特等奖号码,head为当前序列的头指针,tail为尾指针
a:array[0..101,0..1001] of longint;//表示这O(MN)个数
begin
readln(n,m);
for i:=1 to n do
begin
for j:=1 to m do
read(a[i,j]);
readln;
end;//读入
for i:=1 to m do//枚举M行
begin
x:=a[1,i];
for j:=2 to n do
if a[j,i]>x then
x:=a[j,i];//x表示第i行的最大值,此处为更新最大值
tail:=i;//尾指针后移一位
if t>=0 then t:=t+x else//t≥0,显然直接累加不会得到更差的方案
begin
head:=i;//t<0,那么将t赋为x,不会得到更差的方案,当然,头指针要赋为i
t:=x;
end;
if t>max then//刷新最大值
begin
max:=t;
ans:=tail-head+1;//更新最大值,同时长度一起更新
end else
if t=max then//与最大值相等
if tail-head+1
end;
writeln(max);
writeln(ans);
end.
看了 pascal求大神1206:...的网友还看了以下:
用5个以上的英语句子,用过去时描述上周三体锻课我们班的情况,其中要加入排球、篮球和乒乓球的描写用5 2020-04-09 …
描写活动的好词(20个)好句(5个)好段(2个)今天就要拉! 2020-05-15 …
描写活动的好词好句好段!例如春游、校运会、展览等所有活动描写的好词好句好段,不能全是场面,也要有些 2020-05-15 …
2包味精和5包糖共重27千克,4包糖和8包味精共重28千克,1包味精和1包糖各多少千克?比如:2包 2020-05-17 …
我国的瓷器,瓷质细腻,造型新颖美观,闻名全球.有些瓷器上的字画别具一格,耐人寻味.2008-5-我 2020-07-05 …
《祝福》中有很多精彩描写(1)两次描写祥林嫂的微笑(2)12次描摹祥林嫂的眼睛(3)四次描写鲁镇的 2020-07-06 …
摘抄段落(每段100字左右)1、人物对话描写(5段)2、景物描写(5段)3、精彩开头(5段)4、精 2020-07-15 …
若n是一个两位正整数,且n的个位数字大于十位数字,则称n为“两位递增数”(如13,35,56等).在 2020-11-06 …
描写活动的好词好句好段!例如春游、校运会、展览等所有活动描写的好词好句好段,不能全是场面,也要有些具 2020-12-07 …
夏季预防腋下异味的5大生活习惯 2021-04-01 …