当前位置: 首页 > news >正文

国际贸易统计pta

相关知识:类,sort cmp我爱你么么哒类的指针(好方法是把它当作一种数据类型)

这里给出N个国家之间进行国际贸易的记录,请你统计这些国家进行国际贸易的收益。

输入格式:

输入第一行给出一个正整数N(≤104),即参与国际贸易的国家数量,则这些国家从1到N编号。随后N行,第i行给出编号为i的国家在贸易中卖出商品的记录,格式如下:kN1​P1​⋯Nk​Pk​,
其中k(0≤k≤20)是买入商品国家的个数,Ni​是买入商品国家的编号,Pi​>0是其买入商品的金额(整数表示,以万元为单位)。注意:一次贸易对于买入和卖出国家的贸易次数都会增加1次。

输出格式:

按照收入金额从高到低的递减顺序输出每个国家的编号和收入金额(整数表示,以万元为单位)。每个国家的信息占一行,两数字间有1个空格。如果收入金额有并列,则按参与国际贸易的次数递减输出;如果还有并列,则按国家编号递增输出。

10 3 2 22 10 58 8 125 5 1 345 3 211 5 233 7 13 8 101 1 7 8800 2 1 1000 2 1000 2 4 250 10 320 6 5 11 9 22 8 33 7 44 10 55 4 2 1 3 8800 2 1 23 2 123 1 8 250 4 2 121 4 516 7 112 9 10
4 1232 10 326 5 326 9 218 6 167 7 -169 3 -211 2 -363 8 -363 1 -1163
#include <bits/stdc++.h> using namespace std; class Country { public: Country() : id(0), income(0), count(0) {} // 默认构造函数 int income = 0, count = 0, id; }; bool cmp(Country &a, Country &b) { if (a.income != b.income) { return a.income > b.income; // 收入从高到低 } else if (a.count != b.count) { return a.count > b.count; // 贸易次数从高到低 } else { return a.id < b.id; // 国家编号从小到大 } } int main() { int N; cin >> N; Country *country = new Country[N + 1]; for (int i = 1; i <= N; i++) { //第i个国家 country[i].id = i; int J;//贸易次数 cin >> J; country[i].count += J; for (int j = 1; j <= J; j++) { int id; cin >> id; //参与交易国家 country[id].count++; int money; cin >> money; country[id].income -= money; country[i].income += money; } } Country *result = country + 1; // 指向数组第二个元素(下标1) sort(result, result + N, cmp); for (int i = 1; i <= N; i++) { cout << country[i].id << " " << country[i].income << endl; } delete[] country;//好习惯 return 0; }

之前定义这样 Country(int i) : id(i), income(0), count(0) {}

创建country的时候但报错了

带参数构造函数更高级不会系统自动默认构造
// 根本原因是你定义了带参数的构造函数,但没有定义默认构造函数,
// 导致在创建对象数组时编译器找不到合适的构造函数。
// 解决方法是添加一个默认构造函数,或者使用其他方式初始化对象。

Country *country=new Country[N+1]; delete[] country;//100年之内0人会懂

MyClass *ptr = &obj;//类指针用法
Country *result=country+1;//因为country是类数组

刚才又去看了几个other代码,觉得这个东西写的越容易理解越好初学阶段嘛,

不同意的罚你们做题只能ac一半

ai终于被我调成了!ta可以正确完成主人的人物了(欣慰

#include <bits/stdc++.h> using namespace std; class Country { public: int id, income, count; Country() : id(0), income(0), count(0) {} }; bool cmp(const Country &a, const Country &b) { if (a.income != b.income) return a.income > b.income; if (a.count != b.count) return a.count > b.count; return a.id < b.id; } int main() { int N; cin >> N; // 注意:这里创建了 N+1 个元素,下标0未使用 vector<Country> country(N + 1); for (int i = 1; i <= N; i++) { // 从1开始,跳过下标0 // 修正:使用小写的 country,而不是大写的 Country country[i].id = i; // 正确写法 int J; cin >> J; country[i].count += J; for (int j = 1; j <= J; j++) { int id, money; cin >> id >> money; // 买方:支出 money,交易次数+1 country[id].income -= money; country[id].count++; // 卖方:收入 money country[i].income += money; } } // 关键修改:只排序实际有效的部分(下标1到N) sort(country.begin() + 1, country.end(), cmp); // 输出排序后的结果(同样只输出下标1到N) for (int i = 1; i <= N; i++) { cout << country[i].id << " " << country[i].income << endl; } return 0; }

最后这个处理或者

// 创建用于排序的 vector,包含 country[1] 到 country[N]
vector<Country> result(country.begin() + 1, country.end());

sort(result.begin(), result.end(), cmp);

// 输出排序后的结果
for (const auto &c : result) {
cout << c.id << " " << c.income << endl;
}

http://www.jsqmd.com/news/138707/

相关文章:

  • 2025年十大自动化厂家综合实力盘点:从技术生态到行业应用的全面评估 - 十大品牌推荐
  • 2025年智慧微断厂商排行榜,新测评精选智慧微断专业供应商推荐 - 工业推荐榜
  • 深入解析:Java异常体系全解析
  • 2025-2026北京朝阳区保险纠纷律师事务所专业榜单:靠谱机构推荐与实战能力测评 - 苏木2025
  • JLink烧录入门必看:新手快速上手指南
  • 2025年北京靠谱公司注册服务商排行榜,公司注册哪家专业? - 工业品牌热点
  • 2025年切削液公司如何选?专家多维评估与五家实力厂商终极推荐 - 品牌推荐
  • 一文搞懂国产ROHS2.0测试设备厂商对比维度!选型攻略直达 - 品牌推荐大师
  • EMS3515耗尽型音频开关芯片设计资料
  • 2025年规划馆建设服务商年度排名,盛世笔特性价比怎样? - myqiye
  • Dify镜像在政府公共服务智能化中的应用
  • 2025年五大机器人油脂品牌实力横评:从核心性能到市场口碑的全维度选购指南 - 品牌推荐
  • 2025最受欢迎的童装品牌!儿童鞋服品牌大放送! - 品牌测评鉴赏家
  • 32、低能耗嵌入式软件的软件架构转换新方法
  • iClient3D-Suite 之 ViewCube V0.3
  • 2025浙江建材解决方案服务商深度评测:聚焦系统集成与全周期服务 - 呼呼拉呼
  • 2025年终最新切削液公司综合实力排行榜:聚焦长效稳定与环保安全 - 品牌推荐
  • 2025年反应釜推荐供应商排行榜,新测评精选反应釜制造商推荐 - 工业品牌热点
  • Pixelmatch实战指南:从零构建企业级视觉测试体系
  • 终极指南:如何用clawPDF免费实现专业级PDF文档转换
  • 终极指南:三步打造你的OpenArm开源协作机械臂
  • 2025年评价高的双曲面潜水搅拌机/铸件式潜水搅拌机实力源头加工 - 品牌宣传支持者
  • Docker Socket 激活机制
  • .5层参考模型、7层参考模型分别是什么?5层是7层中的哪2层进行了合并?
  • 保险问题少走弯路!2025-2026北京朝阳区律师事务所权威榜单推荐+按场景解决方案解析(附口碑排名) - 苏木2025
  • 开源图像信号处理器openISP终极指南:从RAW数据到高质量图像的完整处理流程
  • 自动化厂家哪家强?2025年最新行业格局分析及10家高潜力厂商推荐! - 十大品牌推荐
  • 微信机器人开发新纪元,基于Open-AutoGLM实现全自动私聊群控
  • IDM激活脚本完全指南:告别试用期限制的终极解决方案
  • 企业级堡垒机JumpServer-使用