码迷,mamicode.com
首页 > 其他好文 > 详细

[codevs2640]打印页数

时间:2015-09-29 08:43:15      阅读:137      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!