题解:
这道题是道模拟题,思路也不是很难,就是太麻烦了。
由题意知,给你三个数a1,a2,a3,有可能是年月日、月日年、日月年三种情况,假如a1,a2,a3符合年月日的条件的话,那么对应的输出就应该是a1a2a3,a3a1a2,a3a2a1.
年月日的条件比较好写,如果年份后两位大于60,那就是19年的,否则就是20年的。月份的话是大于0小于13,日子在所在月份的范围内就行。
题目要求日期从早到晚排列,那我就把a1,a2,a3比大小的每种情况都列出来,然后看看在每种情况下,对应日期的大小情况如何再输出。好像有一个19年、20年年份的判别我没有搞,不过代码也算是过了,就不看了。
还有一个点就是年月日这三个题目中给的数有可能相等,那么就会造成答案的重复,需要判断去重。
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
bool solve(int aa1,int aa2,int aa3)//年月日满足条件的判别
{
if(aa2==1||aa2==3||aa2==5||aa2==7||aa2==8||aa2