首页 > 其他 > 详细

[codevs2640]打印页数

时间:2015-09-29 08:43:11      阅读:91      评论:0      收藏:0      [点我收藏+]

贪心,不知道怎么想的就大师难度了

有些细节需要处理一下:首先是注意一行可能有多个标注,用inc记录,初始值付成1.

另一个数组存好多个k(=0=只是觉得比较方便,反正数据弱),表示每一页(反正不会超过n,谁叫你说一定有解呢,就是人性,哼),用指针d记录打印到了第几页

最后从1到n扫一遍,可以放就放,不能放就下一页

代码

var
        f,t:array[0..5000] of longint;
        d,r,k,n,all,x,y,i,j:longint;


        begin
                readln(n,k);
                readln(all);
                for i:=1 to n do t[i]:=1;
                for i:=1 to n do f[i]:=k;
                d:=1;
                for i:=1 to all do
                begin
                        readln(x,y);
                        t[x]:=t[x]+y;
                end;

                for i:=1 to n do
                begin
                        if f[d]>=t[i] then dec(f[d],t[i])
                        else begin inc(d); dec(f[d],t[i]); end;
                end;

                writeln(d); 
        end.

 喜欢就收藏一下,vic私人qq:1064864324,加我一起讨论问题,一起进步^-^

[codevs2640]打印页数

原文:http://www.cnblogs.com/victorslave/p/4845428.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!