PAT-BASIC1092——最好吃的月饼

版权声明:我的GitHub:https://github.com/617076674。真诚求星! https://blog.csdn.net/qq_41231926/article/details/84957331

我的PAT-BASIC代码仓:https://github.com/617076674/PAT-BASIC

原题链接:https://pintia.cn/problem-sets/994805260223102976/problems/1071785779399028736

题目描述:

知识点:计数

思路:开一个大小为N + 1的数组存储每种月饼的销量

空间复杂度是O(N)。时间复杂度是O(N * M)。

C++代码:

#include<iostream>
#include<vector>

using namespace std;

int main(){
	int N, M;
	scanf("%d %d", &N, &M); 
	int sales[N + 1];	//第i种月饼的销量为sales[i]
	fill(sales + 1, sales + N + 1, 0);
	for(int i = 0; i < M; i++){
		for(int j = 1; j <= N; j++){
			int num;
			scanf("%d", &num);
			sales[j] += num;
		}
	}
	int maxIndex = 1;
	for(int i = 2; i <= N; i++){
		if(sales[i] > sales[maxIndex]){
			maxIndex = i;
		}
	} 
	printf("%d\n", sales[maxIndex]);
	vector<int> result;
	for(int i = 1; i <= N; i++){
		if(sales[i] == sales[maxIndex]){
			result.push_back(i);
		}
	} 
	for(int i = 0; i < result.size(); i++){
		printf("%d", result[i]);
		if(i != result.size() - 1){
			printf(" ");
		}else{
			printf("\n");
		}
	}
	return 0;
}

C++解题报告:

猜你喜欢

转载自blog.csdn.net/qq_41231926/article/details/84957331