📄 2511priority_queue.cpp
字号:
#include<stdio.h>
#include<queue>
#include<vector>
#include<algorithm>
using namespace std;
const int MAXN=1000;
double s[MAXN];
int ans[MAXN];
struct node
{
int id;
double v;
};
class cmp
{
public :
bool operator () (const node &a,const node &b)const
{
if(a.v<b.v)return true;
else if(a.v==b.v && a.id>b.id)return true;
else
return false;
}
};
priority_queue<node,vector<node>,cmp> q;
int main()
{
int n,m,k;
int i,j;
int T,t;
double a;
while(scanf("%d%d%d",&m,&n,&k)!=EOF)
{
memset(s,0,sizeof(s));
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
scanf("%lf",&a);
s[j]+=a;
}
while(!q.empty())q.pop();
node temp;
for(i=1;i<=n;i++)
{
temp.v=s[i];
temp.id=i;
q.push(temp);
}
for(i=1;i<=k;i++)
{
temp=q.top();q.pop();
ans[i]=temp.id;
}
sort(&ans[1],&ans[k+1]);
for(i=k;i>=1;i--)
{
if(i!=1)printf("%d ",ans[i]);
else printf("%d\n",ans[i]);
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -