openJudge | 找最大数序列 C语言

news/2025/2/19 13:05:18/

总时间限制: 1000ms 内存限制: 65536kB

描述

输入n行,每行不超过100个无符号整数,无符号数不超过4位。请输出最大整数以及最大整数所在的行号(行号从1开始)。如果该数据在多个行中出现,则按从小到大输出相应行号,行号之间以一个逗号分开。

输入

一行输入一个正整数n(n <= 30)。
之后的n行,每行包含不超过100个无符号整数,整数之间以一个逗号分开。

输出

第一行:最大整数;
第二行:最大整数所在的行编号,逗号间隔。

样例输入

6
1,3,5,23,6,8,14
20,22,13,4,16
23,12,17,22
2,6,10,9,3,6
22,21,20,8,10
22,1,23,6,8,19,23

样例输出

23
1,3,6

一些思路

  1. 我想到一个办法——就是创造一个结构体,包含数字本身和记录出现的数组,至于last,就是为了提高运算速度而已。

答案

#include <stdio.h>
typedef struct {int num;int arise[30];int last;
} number;
int main() {static number numbers[3000];int n, pCow=0, pLine=0, p=0, a=0;char ch, str[5];scanf("%d\n", &n);for(int i = 0; i < n; i++) {while((ch=getchar()) != '\n') {if(ch == ',') {a /= 10;for(int j = 0; j < pCow; j++) {if(numbers[j].num == a) {if(numbers[j].arise[numbers[j].last-1] != i) {numbers[j].arise[numbers[j].last++] = i;goto out;}}}numbers[pCow].num = a;numbers[pCow].arise[numbers[pCow].last++] = i;pCow++;out:;a = 0;} else {a += ch-'0';a *= 10;}}a /= 10;for(int j = 0; j < pCow; j++) {if(numbers[j].num == a) {if(numbers[j].arise[numbers[j].last-1] != i) {numbers[j].arise[numbers[j].last++] = i;goto out1;} else {goto out1;}}}numbers[pCow].num = a;numbers[pCow].arise[numbers[pCow].last++] = i;pCow++;out1:;a = 0;}number max = numbers[0];for(int i = 0; i < pCow; i++) {if(numbers[i].num > max.num) {max = numbers[i];}}printf("%d\n", max.num);for(int i = 0; i < max.last; i++) {if(i == 0)printf("%d", max.arise[i]+1);elseprintf(",%d", max.arise[i]+1);}
}

http://www.ppmy.cn/news/1350532.html

相关文章

什么是依赖注入?如何在Spring中配置和使用依赖注入?

什么是依赖注入&#xff1f; 依赖注入&#xff08;Dependency Injection&#xff0c;DI&#xff09;是一种设计模式&#xff0c;它通过将对象之间的依赖关系的创建和维护转移到外部容器中来&#xff0c;以减少对象之间的紧耦合性并提高可重用性。在传统的程序设计中&#xff0c…

Python爬虫之Ajax数据爬取基本原理

前言 有时候我们在用 requests 抓取页面的时候&#xff0c;得到的结果可能和在浏览器中看到的不一样&#xff1a;在浏览器中可以看到正常显示的页面数据&#xff0c;但是使用 requests 得到的结果并没有。这是因为 requests 获取的都是原始的 HTML 文档&#xff0c;而浏览器中…

书生·浦语大模型第四课作业

基础作业&#xff1a; 构建数据集&#xff0c;使用 XTuner 微调 InternLM-Chat-7B 模型, 让模型学习到它是你的智能小助手&#xff0c;效果如下图所示&#xff0c;本作业训练出来的模型的输出需要将不要葱姜蒜大佬替换成自己名字或昵称&#xff01; 1.安装 # 如果你是在 Int…

【开源】SpringBoot框架开发超市账单管理系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统设计3.1 总体设计3.2 前端设计3.3 后端设计在这里插入图片描述 四、系统展示五、核心代码5.1 查询供应商5.2 查询商品5.3 新增超市账单5.4 编辑超市账单5.5 查询超市账单 六、免责说明 一、摘要 1.1 项目介绍 基于…

深度学习中的Droupout

1. 什么是Droupout Dropout的作用是防止过拟合。 Dropout在训练模型中是如何实现的呢&#xff1f;Dropout的做法是在训练过程中按一定比例&#xff08;比例参数可设置&#xff09;随机忽略或屏蔽一些神经元。这些神经元被随机“抛弃”&#xff0c;也就是说它们在正向传播过程…

[AIGC] 上传文件:后端处理还是直接阿里云OSS?

在构建Web应用时&#xff0c;我们经常需要处理用户上传的文件。这可能是图片、视频、文档等各种各样的文件。但是&#xff0c;上传文件的方式有很多种&#xff0c;最常见的两种方式是&#xff1a;通过后端处理&#xff0c;或者直接上传至云存储服务&#xff0c;如阿里云OSS。那…

常见的Linux操作系统发行版介绍

Linux操作系统是由芬兰程序员林纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;于1991年首次发布的。由于其开源的特性&#xff0c;Linux系统拥有众多不同的发行版&#xff0c;每个发行版都有其独特的特点和用途。以下是一些常见的Linux操作系统发行版&#xff1a; …

react中hook封装一个table组件 与 useColumns组件

目录 1&#xff1a;react中hook封装一个table组件依赖CommonTable / index.tsx使用组件效果 2&#xff1a;useColumns组件useColumns.tsx使用 1&#xff1a;react中hook封装一个table组件 依赖 cnpm i react-resizable --save cnpm i ahooks cnpm i --save-dev types/react-r…