信息奥赛一本通—编程启蒙(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

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

相关推荐
不会C语言的男孩5 小时前
C++ Primer 第2章:变量和基本类型
开发语言·c++
在繁华处5 小时前
Java从零到熟练(三):流程控制
java·开发语言·python
云泽8086 小时前
C++ 可调用对象通关指南:深度解析 Lambda 表达式、function 包装器与 bind 绑定器
开发语言·c++·算法
wlsh156 小时前
Go 迭代器
算法
Tri_Function7 小时前
简单图论大学习
c++
语戚7 小时前
力扣 3161. 块放置查询:线段树解法(Java 实现)
java·算法·leetcode·面试·线段树·力扣·
lqqjuly7 小时前
C++ 完整知识体系—从基础语法到现代 C++23 的系统性总结
c++·c++23
CS创新实验室7 小时前
从顺序表到动态数组:数据结构的永恒基石与现代语言的优雅封装
数据结构·算法
王老师青少年编程7 小时前
信奥赛C++提高组csp-s之FHQ Treap
c++·csp·平衡树·信奥赛·csp-s·提高组·fhq treap
星恒随风8 小时前
Python 基础语法详解(一):从表达式、变量到数据类型
开发语言·笔记·python·学习