站外题求助!
  • 板块学术版
  • 楼主rainygame
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/2/13 23:01
  • 上次更新2023/10/24 00:50:54
查看原帖
站外题求助!
804607
rainygame楼主2023/2/13 23:01

这道题我用 map 来做,莫名 Wrong Answer,请问呢是什么原因?

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

int n;
struct Date{
	int m, d;
	inline bool operator<(const Date da)const{
		if (m == da.m) return d < da.d;
		return m < da.m;
	}
}d;

inline bool cmp(string a, string b){
	if (a.size() == b.size()) return a < b;
	return a.size() < b.size();
}
map<Date, vector<string>> mp;
vector<string> vec;
string name;

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	
	cin >> n;
	for (int i=1; i<=n; i++){
		cin >> name >> d.m >> d.d;
		mp[d].push_back(name);
	}
	
	for (auto it=mp.begin(); it!=mp.end(); it++){
		d = (*it).first;
		vec = (*it).second;
		if (vec.empty()) continue;
		cout << d.m << ' ' << d.d << ' ';
		sort(vec.begin(), vec.end(), cmp);
		for (auto it2=vec.begin(); it2!=vec.end(); it2++) cout << (*it2) << ' ';
		cout << '\n';
	}
	
	return 0;
}

2023/2/13 23:01
加载中...