从0开始的程序员 2018-09-14 05:31
浏览 256

来自小白的提问,求大神帮忙看看

在csp上做的公共钥匙盒的题,只有给的两个测试用例通过了,找了好久也不知道到底错在哪里,求大佬帮忙看看。

#include
#include
#include
#include
using namespace std;
struct Teacher{
int key_number;
int start;
int time;
int end;
};
void mycopy(Teacher aim[],Teacher src[],int length){
for(int i=0;i {
aim[i]=src[i];
}
}
int cmp1(Teacher a,Teacher b)
{
return a.start }
int cmp2(Teacher a,Teacher b){
if(a.end != b.end)
return b.end>a.end;
else if(a.end == b.end){
return b.key_number>a.key_number;
}

}
void Take_Key(int n,int key[],int length)
{
for(int i=0;i<length;i++)
{
if(key[i] == n)
{
key[i]=0;
return ;
}
}
}
void Return_Key(int n,int key[],int length){
for(int i=0;i<length;i++)
{
if(key[i] == 0)
{
key[i]=n;
return;
}

}

}
int key[1024];
int main()
{
int w,s,c;
int N,K;
int time=0;
int Take_clock=0;
int Back_clock=0;
cin>>N>>K;
for(int i=0;i key[i]=i+1;
}
Teacher teacher[K];
vector Take,Back;
for(int i=0;i Teacher x;
cin>>x.key_number>>x.start>>x.time;
x.end=x.start+x.time;
Take.push_back(x);
Back.push_back(x);

}
sort(Take.begin(),Take.end(),cmp1);
sort(Back.begin(),Back.end(),cmp2);
while(time<=12000)
{
    while(Back[Back_clock].end == time)
    {
        Return_Key(Back[Back_clock].key_number,key,N);
        Back_clock++;
    } 
    if(Take[Take_clock].start == time) 
    {
        Take_Key(Take[Take_clock].key_number,key,N);
        Take_clock++;
    }
    time ++;
}
for(int i=0;i<N;i++) cout<<key[i]<<" ";

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 乘性高斯噪声在深度学习网络中的应用
    • ¥15 运筹学排序问题中的在线排序
    • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
    • ¥30 求一段fortran代码用IVF编译运行的结果
    • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
    • ¥15 C++ 头文件/宏冲突问题解决
    • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
    • ¥50 安卓adb backup备份子用户应用数据失败
    • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
    • ¥30 python代码,帮调试,帮帮忙吧