2024PAT乙级春季考试 B-3字典存储 题型:思维 20分

111 阅读1分钟

image.png

这道题也是现场AC的题,只要把题意解读清楚就可以了。

第一空的意思就是让求给定的n个字符串中最长的那个字符串的长度。最长的字符串就是第四个字符串“pneumonoultramicroscopicsilicovolcanoconiosis”,长度为45,输出时候要输出46(包含结尾/0)。

第二空就是让我们求所有字符串的所占空间大小。因为题目说了所有数组的长度都取一个固定值,这里固定值就是最长的那个字符串的长度,所以每个字符串开的空间都是最长的那个字符串的长度,我们只需要把最长字符串的长度*n就可以求出所有字符串的所占空间大小了。

#include<bits/stdc++.h>
using namespace std;

int maxlen = 0, sum;
int  main()
{
	int n; cin >> n;
	for (int i = 0; i < n; i++)
	{
		string s; cin >> s;
		int len = s.size();
		maxlen = max(maxlen,len);
	}
	cout << maxlen + 1 << " " << (maxlen+1)*n << endl;
	return 0;
}

image.png