题目:计算资源调度器
50分代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
int n,m;
typedef struct node{
int area;//分区
int id;//节点编号
int task;//任务数量
}node;
bool cmp(const node x,const node y){
if(x.task != y.task){
return x.task<y.task;
}
else{
return x.id<y.id;
}
}
int main()
{
cin>>n>>m;
int area_flag[N];
node nodes[n];
for(int i=0; i<n; i++){
int area;
cin>>area;
area_flag[area] = 1;
nodes[i].area = area;
nodes[i].id = i+1;
nodes[i].task = 0;
}
int g;
cin>>g;
for(int i=0; i<g; i++){
int f,na,pa,paa,paar;
long long a;
cin>>f>>a>>na>>pa>>paa>>paar;
if(na == 0){
sort(nodes,nodes+n+1,cmp);
for(int i=0; i<f; i++){
if(i<n){
cout<<nodes[i].id<<" ";
nodes[i

博客讲述了在解决CCF CSP问题中,关于计算资源调度器的解题过程。作者从50分的代码出发,分析了在审题和编程过程中遇到的问题,如误解题目和忽视输入输出格式。80分的解决方案借鉴了他人思路,通过新开vector并剔除不符合条件的元素,而非直接对原数组排序,从而提高效率。同时,作者还讨论了sort函数使用中的陷阱,以及在处理排序和查找时的一种优化策略。
最低0.47元/天 解锁文章
356

被折叠的 条评论
为什么被折叠?



