#include<bits/stdc++.h>
using namespace std;
const int days[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
string s;
cin>>s;
map<string,int> mp;
for(int i=0;i+9<s.size();++i){
if(s[i]!='-'&&
s[i+1]!='-'&&
s[i+2]=='-'&&
s[i+3]!='-'&&
s[i+4]!='-'&&
s[i+5]=='-'&&
s[i+6]!='-'&&
s[i+7]!='-'&&
s[i+8]!='-'&&
s[i+9]!='-'){
int d=strtol(s.c_str(),0,10);
int m=strtol(s.c_str()+(i+3),0,10);
int y=strtol(s.substr(i+6,4).c_str(),0,10);
if(y>=2013&&y<=2015&&m>0&&m<=12&&d>0&&d<=days[m])
++mp[s.substr(i,10)];
}
}
map<string,int>::iterator it,it2;
for(it=it2=mp.begin();it!=mp.end();++it){
if(it->second>it2->second)
it2=it;
}
cout<<it2->first;
return 0;
}
Process exited after 12.05 seconds with return value 3221225477
咋回事