信息奥赛一本通—编程启蒙(3371:【例64.2】 生日相同)

代码如下:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main() {
	int n;
	cin >> n;
	string name[200];
	int month[200];
	int day[200];
	for (int i = 0; i < n; i++) {
		cin >> name[i] >> month[i] >> day[i];
	}
	bool found = false;
	for (int m = 1; m <= 12; m++) {
		for (int d = 1; d <= 31; d++) {
			vector<string> same;
			for (int i = 0; i < n; i++) {
				if (month[i] == m && day[i] == d) {
					same.push_back(name[i]);
				}
			}
			if (same.size() >= 2) {
				found = true;
				for (int i = 0; i < same.size(); i++) {
					for (int j = i + 1; j < same.size(); j++) {
						if (same[i].size() > same[j].size()) {
							swap(same[i], same[j]);
						} else if (same[i].size() == same[j].size() && same[i] > same[j]) {
							swap(same[i], same[j]);
						}
					}
				}
				cout << m << " " << d << " ";
				for (int i = 0; i < same.size(); i++) {
					cout << same[i] << " ";
				}
				cout << endl;
			}
		}
	}
	if (!found) {
		cout << "None" << endl;
	}

	return 0;
}

网站链接:https://bas.ssoier.cn/problem_show.php?pid=3371

创作不易,给个关注吧🦀🦀

相关推荐
地平线开发者1 小时前
Transformer模型部署之性能优化指南
算法
地平线开发者1 小时前
人在途中:从“编译失败”到“模型可落地”——CUDA 自定义算子
算法·自动驾驶
半个落月4 小时前
从递归到快速排序:用 JavaScript 把分治思想讲明白
javascript·算法·面试
小月土星5 小时前
JavaScript 快速排序:从 pivot、双指针到分治思想
javascript·算法·面试
小月土星5 小时前
JavaScript 递归入门:从 1 到 n 求和,再到数组扁平化
javascript·算法·面试
To_OC20 小时前
LC 1 两数之和:面试第一道必考题,暴力解法直接被面试官 pass
javascript·算法·leetcode
鱼鱼不愚与1 天前
《原来如此 | 第01期:为什么导航软件能预测红绿灯倒计时?》
算法
博客18001 天前
酷宝的使用方法,超好用的免费界面库,C++、MFC可用
c++·mfc·界面库·库来帮·酷宝
郝学胜_神的一滴1 天前
CMake 026:属性体系精讲、四大作用域全解 & 实战代码落地
c++·cmake