刷题

GJY与神犇约定了一场学术对决,她决定全力以赴准备。本篇介绍了一个算法,用于计算GJY在约定的备战期间内,依据各题目所需时间,最多能完成的题目数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【题目背景】

“好啊!一言为定!!”,作为蒟蒻的GJY竟然约定和神犇来一场世纪大战。

【题目描述】

GJY在期末的时候跟神犇约定了一次战争,这对于GJY来说可是一件具有挑战性并十分困难的事情。所有GJY从现在开始就要努力学习,认真学习。GJY为了赢过神犇可以不惜一切代价,就算是让她废寝忘食也是可以的。“不吃饭,不睡觉,不吃零食多思考”是她的宣战格言。给定一个GJY开始奋斗的时间,精确到分钟单位(xxxx[年]-yy[月]-zz[日]-hh[时]-ss[分]),和一个她和神犇大战的时间(xxxx[年]-yy[月]-zz[日]-hh[时]-ss[分])。GJY还有一种特殊的能力,就是她可以判断出她做一道题要花的时间,但她因为判断废了太多的脑力,所以就请聪明的你帮她看一下他在这一段时间内最多可以做多少道题目,GJY的命运就靠你来计算了。

【输入格式】

第一行输入一共有n道题目;

接下来2到n+1行输入这道题需要花费的时间。

n+2行输入GJY开始奋斗的时间(xxxx[年]-yy[月]-zz[日]-hh[时]:ss[分]);

n+3行输入GJY和神犇约定好的时间(xxxx[年]-yy[月]-zz[日]-hh[时]:ss[分]);

【输出格式】

一行输出在此时间内GJY最多能做多少题目。

【样例输入】

4

1

1

1

1

2017-1-21-11:29

2017-1-21-11:30

【样例输出】

1

样例解释:GJY一共有一分钟的时间可以做题,在这一分钟内她可以做一道题,所以答案为1.

【数据范围】

对于100%的数据,n≤5000,每道题所要花的时间≤10000




程序:

const
d:array[0..12]of longint=(0,31,28,31,30,31,30,31,31,30,31,30,31);
var
sum,tj,s1,s2:int64;
i,n,year1,year2,month1,month2,day1,day2,hour1,hour2,m1,m2:longint;
zfc1,zfc2:string;
a:array[0..10010]of longint;
procedure aa;
var
mode:longint;
begin
    val(copy(zfc1,1,pos('-',zfc1)-1),year1,mode);
    delete(zfc1,1,pos('-',zfc1));
    val(copy(zfc1,1,pos('-',zfc1)-1),month1,mode);
    delete(zfc1,1,pos('-',zfc1));
    val(copy(zfc1,1,pos('-',zfc1)-1),day1,mode);
    delete(zfc1,1,pos('-',zfc1));
    val(copy(zfc1,1,pos(':',zfc1)-1),hour1,mode);
    delete(zfc1,1,pos(':',zfc1));
    val(zfc1,m1,mode);
end;
procedure bb;
var
mode:longint;
begin
    val(copy(zfc2,1,pos('-',zfc2)-1),year2,mode);
    delete(zfc2,1,pos('-',zfc2));
    val(copy(zfc2,1,pos('-',zfc2)-1),month2,mode);
    delete(zfc2,1,pos('-',zfc2));
    val(copy(zfc2,1,pos('-',zfc2)-1),day2,mode);
    delete(zfc2,1,pos('-',zfc2));
    val(copy(zfc2,1,pos(':',zfc2)-1),hour2,mode);
    delete(zfc2,1,pos(':',zfc2));
    val(zfc2,m2,mode);
end;
procedure kp(l,r:longint);
var
i,j,mid:longint;
begin
    if l>=r then exit;
    i:=l;j:=r;mid:=a[(l+r) div 2];
    repeat
         while a[i]<mid do inc(i);
         while a[j]>mid do dec(j);
         if i<=j then
         begin
             a[0]:=a[i];a[i]:=a[j];a[j]:=a[0];
             inc(i);dec(j);
         end;
    until i>j;
    kp(l,j);
    kp(i,r);
end;
begin
    readln(n);
    for i:=1 to n do
    readln(a[i]);
    readln(zfc1);
    readln(zfc2);
    aa;
    bb;
    s1:=m1+hour1*60+(day1-1)*1440;
    s2:=m2+hour2*60+(day2-1)*1440;
    for i:=1 to month1-1 do
    s1:=s1+d[i]*1440;
    for i:=1 to month2-1 do
    s2:=s2+d[i]*1440;
    for i:=year1 to year2-1 do
    if (i mod 4=0)and(i mod 100<>0)or(i mod 400=0) then s2:=s2+527040 else s2:=s2+525600;
    sum:=s2-s1;
    kp(1,n);
    tj:=0;
    for i:=1 to n do
    if sum>=a[i] then
    begin
        sum:=sum-a[i];
        inc(tj);
    end;
    write(tj);
end.

转载于:https://www.cnblogs.com/YYC-0304/p/9500108.html

内容概要:该PPT详细介绍了企业架构设计的方法论,涵盖业务架构、数据架构、应用架构和技术架构四大核心模块。首先分析了企业架构现状,包括业务、数据、应用和技术四大架构的内容和关系,明确了企业架构设计的重要性。接着,阐述了新版企业架构总体框架(CSG-EAF 2.0)的形成过程,强调其融合了传统架构设计(TOGAF)和领域驱动设计(DDD)的优势,以适应数字化转型需求。业务架构部分通过梳理企业级和专业级价值流,细化业务能力、流程和对象,确保业务战略的有效落地。数据架构部分则遵循五大原则,确保数据的准确、一致和高效使用。应用架构方面,提出了分层解耦和服务化的设计原则,以提高灵活性和响应速度。最后,技术架构部分围绕技术框架、组件、平台和部署节点进行了详细设计,确保技术架构的稳定性和扩展性。 适合人群:适用于具有一定企业架构设计经验的IT架构师、项目经理和业务分析师,特别是那些希望深入了解如何将企业架构设计与数字化转型相结合的专业人士。 使用场景及目标:①帮助企业和组织梳理业务流程,优化业务能力,实现战略目标;②指导数据管理和应用开发,确保数据的一致性和应用的高效性;③为技术选型和系统部署提供科学依据,确保技术架构的稳定性和扩展性。 阅读建议:此资源内容详尽,涵盖企业架构设计的各个方面。建议读者在学习过程中,结合实际案例进行理解和实践,重点关注各架构模块之间的关联和协同,以便更好地应用于实际工作中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值