您的位置:首页 > 其它

CCF 公共钥匙盒

2018-03-09 15:01 211 查看


// borrow_keys.cpp: 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;

struct change
{
int time;
int order;
bool opt;
change(int time,int order,bool opt):time(time),order(order),opt(opt){}
change(){}
};

struct item {
change begin;
change end;
item(int order, int begin, int cost) :begin(begin,order,false),end(cost + begin,order,true) {}
item() {}
};

bool cmp(change &c1, change &c2)
{
return c1.time < c2.time;
}

int main()
{
int N, K;
cin >> N >> K;
vector<int> num(N,0);
for (int i = 0; i < N; i++)
num[i] = i + 1;
vector<item> it(K);
int order, begin, cost;
for (int j = 0; j < K; j++)
{
cin >> order >> begin >> cost;
it[j] = item(order, begin, cost);
}
vector<change> operation;
for (int i=0;i<it.size();i++)
{
operation.push_back(it[i].begin);
operation.push_back(it[i].end);
}
sort(operation.begin(), operation.end(),cmp);
for (int i = 0; i<operation.size(); i++)
{
if (operation[i].opt)
*find(num.begin(), num.end(), 0) = operation[i].order;
else
{
*find(num.begin(), num.end(), operation[i].order) = 0;
}
}
int i;
for (i = 0; i<num.size()-1; i++)
cout << num[i] << ' ';
cout << num[i];
system("pause");
return 0;
}


用struct来模拟指令,用vector来存储状态,测试样例都过了,网上的样例也过了,但是:只得了20分。。。。。

头疼,求大神帮忙看下,或者有了解平分规则的,帮忙优化下或者指点一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: