三数组排序
来源:互联网 发布:mysql 增加临时表空间 编辑:程序博客网 时间:2024/06/06 05:24
Description
MSTC里有好多有特长的人, 有些是力量型人才,有些是智力型人才,有些是敏捷型的。现在告诉你 N 个人, 每个人的力量,智力,敏捷的值, 和每个人的编号。题目要求你将 N 个部员 按照力量 从大到小 排序, 如果两个部员的力量相同, 则按照 智力 值从大到小排序, 如果两个部员力量, 智力 都一样,则按照 敏捷从 小 到 大排序。 测试数据保证没有两个部员的 力量, 智力, 敏捷 全部相同。
Input
第一行 N :表示有 N 个同学。 ( 1 <= N <= 500 )
接下来 N 行, 第 i 行有 3 个值, ai, bi, ci a 代表 力量, b 代表智力, c 代表敏捷。 编号为 i ( i 是部员的编号, 1 <= i <= N )
Output
输出 N 行:
将排序后的部员编号输出。
每行一个编号
Sample Input
4
2 2 3
2 3 4
4 8 9
2 2 2
Sample Output
3
2
4
1
/** *@author houyong * */ #include<algorithm>#include<iostream>#include<stdio.h>#include<stdlib.h>#include<vector>//#define LOCALusing namespace std;bool cmp(vector<int> a,vector<int> b){ if(a[0]!=b[0]) return a[0]>b[0]; else if(a[0]==b[0] && a[1]!=b[1]) return a[1]>b[1]; else return a[2]<b[2];}int main(){ #ifdef LOCAL freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout); #endif // LOCAL int T,j,i,k,k1; scanf("%d", &T); //T个人数据 vector<vector<int> > vec; //vec里存放T个人的测试数据 //直接push_back,不用初始化大小 for(j=0;j<T;j++) { vector<int> v0(3,0);//下面要用下标访问,则要初始化大小 for(i=0;i<3;i++) { scanf("%d", &v0[i]); } vec.push_back(v0); } vector<vector<int> > vec0 =vec; sort(vec.begin(),vec.end(),cmp); for(k=0;k<T;k++) { for(k1=0;k1<T;k1++) { if(vec[k] == vec0[k1]) cout<<k1+1<<endl; } } return 0;}
0 0
- 三数组排序
- 三:数组_数组的排序
- #PHP#(三)数组及数组排序
- 三种方法对java数组排序
- Java 数组排序三种方法
- 第十七周项目三-数组的排序
- 三数组排序(二维vector)
- 数组三种方式排序实现
- 数组排序的三种方法
- 数组的三种基本排序法
- Java数组练习(三)选择排序
- 排序算法的数组实现 -- 合并排序(三)
- Java编程实现数组排序——(三)选择排序
- Java-数组的三大排序方法(冒泡排序,选择排序,插入排序)
- 小程序(三)数组排序问题1奇偶数组排序
- PHP中数组的三种排序方法分享
- 17周项目三(数组的排序)
- 第十七周-(项目三)数组的排序。
- LeetCode | Longest Palindromic Substring(最长回文子串)
- Linux内核堆栈使用方法 进程0和进程1
- Android SDK Manager 闪退
- 统一资源定位符中的远程服务器地址检测
- Hibernate三种状态的概念及互相转化
- 三数组排序
- 学了有段时间了,只有做过笔记和云笔记,现在开始把学习和未来工作中遇到的好资料都保存到博客了.用了CSDN博客瞬间感觉自己Hacker了.哈哈
- 新的博客地址
- 三数组排序(二维vector)
- 数据可视化:现代方法
- for and forin
- JavaScript解决select下拉框中的内容太长显示不全的问题
- 数组的创建 简写,NSArray *arrayX = @[s1, s2, s3] .可变数组不可用.
- 岁月,在无憾中微笑