# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
238645 | vankata | Datum (COCI20_datum) | C++14 | 81 ms | 384 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
void print(int a,int b,int c)
{
if(a<10)cout<<0;
cout<<a;
cout<<".";
if(b<10)cout<<0;
cout<<b;
cout<<".";
if(c<1000)cout<<0;
cout<<c;
cout<<".\n";
}
bool adequate(int d,int m,int y)
{
if(d>31||m>12||d==0||m==0)return false;
if(d==31&&(m==2||m==4||m==6||m==9||m==11))return false;
if(d==30&&m==2)return false;
if(d==29&&m==2)
{
if(y%4!=0)return false;
}return true;
}
void solve()
{
string s;
cin>>s;
int d=0,a,b,l=0,i;
int m=0;
int y=0;
for(i=0; i<s.size(); i++)
{
if(s[i]=='.')l++;
else
{
if(l==0)
{
d*=10;
d+=s[i]-'0';
}
else if(l==1)
{
m*=10;
m+=s[i]-'0';
}
else
{
y*=10;
y+=s[i]-'0';
}
}
}
for(i=0; i<=9999; i++)
{
l=i;
a=l%10;
a*=10;l/=10;
a+=l%10;
l/=10;
b=l%10;
b*=10;l/=10;
b+=l;
if(i<y)continue;
else
{
if(i==y&&b<m)continue;
else
{
if(i==y&&b==m&&a<=d)continue;
}
}
if(adequate(a,b,i))
{
print(a,b,i);
break;
}
}
}
int main()
{
int n;
cin>>n;
while(n--)solve();
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |