⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2511priority_queue.cpp

📁 自己的ac代码 在acm.zju.edu.cn 上的题目
💻 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 + -