怎么错了
  • 板块灌水区
  • 楼主zcx20242024
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/7/28 14:55
  • 上次更新2024/7/28 16:19:59
查看原帖
怎么错了
1377954
zcx20242024楼主2024/7/28 14:55

题目描述 战争即将爆发,但我们的武器装备储备不足,组织派你进行武器采购。武器商人提供了很多武器装备,每种武器的属性有攻击力,价格,名称。组织中的资金非常充足,一共需要购买k个武器。因此购买时会优先考虑攻击力高的,当两种武器攻击力相同时,会优先选择价格便宜的。现在请根据武器的信息,列出购买的武器

输入格式 第一行两个整数n,k 接下来n行,每行包括武器的名称name,攻击力atk,价格pri

输出格式 k行,每行一个武器名称

#include<cstdio>
#include<string>
#include<iostream>
using namespace std;
string a[105]; 
int b[105],c[105];
int main()
{
	int n,k;
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n;i++)
	{
		cin>>a[i]>>b[i]>>c[i];
	}
	for(int i=1;i<n;i++)
	{
		for(int j=1;j<=n-i;j++)
		{
			if(b[j]<b[j+1]) swap(a[j],a[j+1]),swap(b[j],b[j+1]),swap(c[j],c[j+1]);
		}
	}
	if(b[k]==b[k+1]&&c[k]>c[k+1]) swap(a[k],a[k+1]),swap(b[k],b[k+1]),swap(c[k],c[k+1]);
	for(int i=1;i<=k;i++) cout<<a[i]<<endl;
}
2024/7/28 14:55
加载中...