F - 老--质价比

xiaoxiao2021-02-28  34

老--质价比

Time Limit: 1000 ms  Memory Limit: 65536 KiB Submit  Statistic

Problem Description

给出n件物品,每件物品有质量和价格两种属性。你要做的是按质量升序排序,若质量相同则按价格降序排序。

Input

多组输入。每组先输入一个正整数n(1<=n && n <= 100),代表有n件物品。接下来的一行有n个正整数Wi(1<= Wi && Wi <= 10000),代表每件物品的质量。再接下来的一行有n个正整数Pi(1 <= Pi && Pi <= 10000),代表每件物品的价格。

Output

对于每组数据输出n行,每行两个数Wi,Pi。顺序为题目描述所要求。

Sample Input

3 1 2 2 3 2 3

Sample Output

1 3 2 3 2 2

01#include<stdio.h> 02struct wp 03{ 04int money; 05int mass; 06} s[10010] ; 07int main() 08{ 09int n, i, j; 10struct wp temp; 11while(scanf("%d",&n)!=EOF) 12{ 13for(i=0;i<n;i++) 14scanf("%d",&s[i].mass); 15for(i=0;i<n;i++) 16scanf("%d",&s[i].money); 17  18for(j=0;j<n-1;j++) 19for(i=0;i<n-j-1;i++) 20{ 21if(s[i].mass>s[i+1].mass) 22{ 23temp=s[i]; 24s[i]=s[i+1]; 25s[i+1]=temp; 26} 27if(s[i].mass==s[i+1].mass&&s[i].money<s[i+1].money) 28{ 29temp=s[i]; 30s[i]=s[i+1]; 31s[i+1]=temp; 32} 33} 34  35for(i=0;i<n;i++) 36printf("%d %d\n",s[i].mass,s[i].money); 37} 38return 0; 39 } 40  41/*************************************************** 42User name: jk170618李博 43Result: Accepted 44Take time: 0ms 45Take Memory: 140KB 46Submit time: 2018-03-11 16:49:04 47****************************************************/
转载请注明原文地址: https://www.6miu.com/read-2621643.html

最新回复(0)