鱼C论坛

 找回密码
 立即注册
查看: 1149|回复: 9

苹果排序的问题

[复制链接]
发表于 2022-3-4 22:47:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
【问题描述】

陶陶家的院子里有许多苹果树,每到秋天树上就会结出许多苹果。苹果成熟的时候,陶陶就会跑去摘苹果。经过估算,每个苹果都有一个甜度,第i个苹果的甜度为di。

陶陶把苹果按甜度堆放,他想知道哪种甜度的苹果最多。

【输入格式】

输入共有两行。

第一行,包含一个整数n,表示有n个苹果。

第二行,包含n个用空格隔开的正整数分别表示n个苹果的甜度。

【输出格式】

输出共一行,包含两个用空格隔开的整数,分别表示最多的那种苹果的甜度及有几个这样的苹果。

【输入样例】

10

100 200 200 140 129 134 167 198 200 110

【输出样例】

200 3

【数据规模】

1 ≤ di ≤ 1000

1 ≤ n ≤ 100

我的代码它就给 33 分 , 不知为什么
  1. #include <bits/stdc++.h>
  2. using namespace std;

  3. int main(){
  4.     int n, i, j, s=1;
  5.     vector <int> app;
  6.     scanf("%d", &n);
  7.     for(i=0; i<n; i++){
  8.             scanf("%d", &j);
  9.             app.emplace_back(j);
  10.         }
  11.         for(i=0; i<n; i++){
  12.                 for(j=0; j<i; j++){
  13.                         if(app[i] > app[j]){
  14.                                 swap(app[i], app[j]);
  15.                         }
  16.                 }
  17.         }
  18.         for(i=1; i<n; i++){
  19.                 if(app[i] == app[0]){
  20.                         s++;
  21.                 }
  22.         }
  23.         printf("%d %d", app[0], s);
  24.     return 0;
  25. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-3-4 23:21:04 | 显示全部楼层
  1. #include <bits/stdc++.h>
  2. using namespace std;

  3. int main(void)
  4. {
  5.         int i , k , n , s , app[100]                                     ;
  6.         scanf("%d", & n)                                                 ;
  7.         for(i = 0 ; i < n ; i ++) scanf("%d" , & app[i])                 ;
  8.         for(k = app[0] , i = 1 ; i < n ; i ++) if(app[i] > k) k = app[i] ; // 确定最高糖度值
  9.         for(i = s = 0 ; i < n ; i ++) if(app[i] == k) s ++               ; // 确定最高糖度苹果的个数
  10.         printf("%d %d\n" , k , s)                                        ;
  11. }
复制代码

        编译、运行实况
  1. D:\[00.Exerciese.2022]\C>g++ -o x x.c

  2. D:\[00.Exerciese.2022]\C>x
  3. 10
  4. 100 200 200 140 129 134 167 198 200 110
  5. 200 3

  6. D:\[00.Exerciese.2022]\C>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2022-3-5 09:18:31 From FishC Mobile | 显示全部楼层
本帖最后由 傻眼貓咪 于 2022-3-5 09:22 编辑

本来想用博耶-摩尔多数投票算法(Boyer–Moore majority vote algorithm)

但题目好像没有说明最多会超于总数的一半
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-5 09:40:50 From FishC Mobile | 显示全部楼层
  1. #include <iostream>
  2. #include <vector>
  3. #include <utility>

  4. int main(){
  5.         std::vector<int> apple(1001, 0); // 用于记录苹果数量
  6.         int i, n;
  7.         std::pair<int, int> ans(-1, -1); // (数量, 甜度)
  8.         std::cin >> n;
  9.         while(n--){
  10.                 std::cin >> i;
  11.                 apple[i]++;
  12.                 if(apple[i] > ans.first){
  13.                         ans.first = apple[i];
  14.                         ans.second = i;
  15.                 }
  16.         }
  17.         std::cout
  18.                 << ans.second
  19.                 << " "
  20.                 << ans.first
  21.                 << std::endl;
  22.         return 0;
  23. }
复制代码
  1. 10
  2. 100 200 200 140 129 134 167 198 200 110
复制代码
  1. 200 3
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-5 12:45:59 | 显示全部楼层
本帖最后由 jhq999 于 2022-3-5 12:51 编辑
  1. int max=0,maxsum=0,n=0,a=0;
  2. scanf("%d",&n);
  3. while(n--)
  4. {
  5.    scanf("%d",&a);
  6.    if(a>max)max=a,maxsum=1;
  7.    else if(a==max)maxsum++;
  8. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2022-3-6 22:00:22 | 显示全部楼层
jackz007 发表于 2022-3-4 23:21
编译、运行实况

啊啊啊也没满分
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-6 22:01:03 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-6 22:01:34 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-6 22:02:24 | 显示全部楼层

这个 pair 是什么东西啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-7 07:14:12 From FishC Mobile | 显示全部楼层
柿子饼同学 发表于 2022-3-6 22:02
这个 pair 是什么东西啊

pair 是模板,类似于 vector,仅用于储存 2 个数据(可以不同类型),用 .first 和 .second 读取数据。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-22 11:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表