身高从低到高
身高相同体重从轻到重
体重相同维持原来顺序
输入
4
100 100 120 130
40 30 60 50
输出:
2 1 3 4
输入
3
90 110 90
45 60 45
输出
1 3 2
思路:
[
[1,100,40],//当作一个整体
[2,100,30],
[3,120,60],
[4,130,50]
];
进行冒泡排序
<?php
$n=fgets(STDIN);
$h=explode(' ',trim(fgets(STDIN)));
$w=explode(' ',trim(fgets(STDIN)));
$arr=[];
for($i=0;$i<$n;$i++){
$arr[$i][0]=$i+1;
$arr[$i][1]=$h[$i];
$arr[$i][2]=$w[$i];
}
solution($arr);
function solution($arr)
{
for ($i = 0; $i < count($arr)-1; $i++) {
for ($j=0;$j<count($arr)-$i-1;$j++){
if($arr[$j][1]==$arr[$j+1][1]){
if($arr[$j][2]>$arr[$j+1][2]){
$temp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$temp;
}
}elseif ($arr[$j][1]>$arr[$j+1][1]){
$temp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$temp;
}
}
}
$s='';
foreach ($arr as $v){
$s.=$v[0].' ';
}
echo $s;
}