2016.7.2 的比赛之第二题之追悔莫及

啊啊啊啊啊啊啊啊啊啊啊啊啊!
嗷嗷嗷嗷嗷哦啊哦啊!!!

如上是我的心情

第一,题不外露了哈~~诸君就看一下我的心情吧。。

第二, 考试的 时候,想到了可以正解的句子,觉得 没有必要【【其实是想错了】】,然后错了!最终40.。。。。110和40 你们随意感受一下。哦对还是正数第二和倒数第二,你们再随意感受一下、、、

第三,又是一个警醒。
跟我妈说,我妈说 你怎么知道别人 就没有这样的错误呢?还有如果真的考试,你不也就40吗。所以保证一遍写对。跟你答卷子是一样的【【原谅po主高考党。

第四,跟你们发个代码感受一下

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int T,S,N,A,ans,res;
struct data{
    int t;
    int a;
}work[10005];
struct node{
    int m;
    int l;
    int abl;
}clas[101];
int sum1,sum2;
bool cmp(node a,node b)
{
    return a.abl>b.abl;
}
bool cmp2(data a,data b)
{
    return a.t<b.t;
}
int main()
{
    //freopen("work.in","r",stdin);
    //freopen("work.out","w",stdout);
    scanf("%d%d%d",&T,&S,&N);
    for(int i=1;i<=S;i++)
    {
        scanf("%d%d%d",&clas[i].m,&clas[i].l,&clas[i].abl);
    }
    for(int i=1;i<=N;i++)
    {
        scanf("%d%d",&work[i].a,&work[i].t);
    }
    A=1;
    sort(clas+1,clas+S+1,cmp);
    sort(work+1,work+N+1,cmp2);
    for(int i=1;i<=S;i++)
    {
        res=0;
        A=1;
        int times=0;
        int tt=0;
        int t2=0;
        if(clas[i].m==0)       //can learn in the irst day;
        {
            A=clas[i].abl;
            sum2=T-clas[i].l;    //剩余时间可以用来工作 
            for(int j=1;j<=N;j++)
            {
                if(work[j].a<=A)
                {
                    times=(int) sum2/work[j].t;
                    break;
                }
             }
             res=max(res,times);
        }
        else   
        {
            /*********时间为m+1的,要求看能力小于1的工作********/ 
            sum1=clas[i].m;
            for(int j=1;j<=N;j++)
            {
                if(work[j].a<=A)
                {
                    tt=(int) sum1/work[j].t;
                    break;
                }
            } 
            /*******学习去********/ 
            A=clas[i].abl;
            sum2= T-(clas[i].m)-clas[i].l;
            /****************学完了*************/
            for(int j=1;j<=N;j++)
                if(work[j].a<=A)
                {
                     t2=(int) sum2/work[j].t;
                     break;
                }
            } 
            res=max(res,tt+t2);
        } 
        ans=max(ans,res);
    }
    /*if(work[i].a<=1)
    {
    rec=(int)T/work[i].t;*/     /****错在这了!!!!!!!!!真的就是这一句。***/ 
    for(int i=1;i<=N;i++)
    {
        if(work[i].a<=1)
        {
            res=(int)T/work[i].t;
            break;
        }
    }
    ans=max(ans,res);
    printf("%d\n",ans); 
    //fclose(stdin);
    //fclose(stdout);
}
/*
10 1 2
3 2 5
4 1
1 3
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值