2 条题解
-
-1黄辰飞 (njnu19180237) LV 9 @ 2019-03-31 13:35:24
#include <iostream> using namespace std; class DateTime { int year, month, day, hour, minute, second; public: void init(int y, int mon, int d, int h, int min, int s) { year = y; month = mon; day = d; hour = h; minute = min; second = s; } int isLeapYear() { if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) return 1; else return 0; } int isLeapYear(int i) { if (i % 400 == 0 || (i % 4 == 0 && i % 100 != 0)) return 1; else return 0; } int daytoBegin() { int Month[13] = { 0,31,28 + isLeapYear(),31,30,31,30,31,31,30,31,30,31 }; if (month == 1) return day; int ans = day; while (month > 1) { ans += Month[month - 1]; month--; } return ans; } int secondtoBegin() { return 60 * 60 * 24 * daytoBegin() - (60 - second) - 60 * (59 - minute) - 60 * 60 * (23 - hour); } int GapYearSecond(int y) { if (y - year >= 1) { int ans = 365 * (y - year - 1); for (int i = year + 1; i < y; i++) { if (isLeapYear(i)) ans++; } return ans * 60 * 60 * 24; } else { return -(365 + isLeapYear(year)) * 60 * 60 * 24; } } }; int isLeapYear(int i) { if (i % 400 == 0 || (i % 4 == 0 && i % 100 != 0)) return 1; else return 0; } int main() { int y1, mon1, d1, h1, min1, s1; cin >> y1 >> mon1 >> d1 >> h1 >> min1 >> s1; int y2, mon2, d2, h2, min2, s2; cin >> y2 >> mon2 >> d2 >> h2 >> min2 >> s2; DateTime t1, t2; t1.init(y1, mon1, d1, h1, min1, s1); t2.init(y2, mon2, d2, h2, min2, s2); cout << 60 * 60 * 24 * (365 + isLeapYear(y1)) - t1.secondtoBegin() + t1.GapYearSecond(y2) + t2.secondtoBegin(); return 0; }
-
-42021-01-24 19:46:45@
#include <iostream>
using namespace std;
class DateTime
{
int year, month, day, hour, minute, second;
public:
void init(int y, int mon, int d, int h, int min, int s)
{year = y;
month = mon;
day = d;
hour = h;
minute = min;
second = s;
}
int isLeapYear()
{
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
return 1;
else
return 0;
}
int isLeapYear(int i)
{
if (i % 400 == 0 || (i % 4 == 0 && i % 100 != 0))
return 1;
else
return 0;
}
int daytoBegin()
{
int Month[13] = { 0,31,28 + isLeapYear(),31,30,31,30,31,31,30,31,30,31 };
if (month == 1)
return day;
int ans = day;
while (month > 1)
{
ans += Month[month - 1];
month--;
}
return ans;
}
int secondtoBegin()
{
return 60 * 60 * 24 * daytoBegin() - (60 - second) - 60 * (59 - minute) - 60 * 60 * (23 - hour);
}
int GapYearSecond(int y)
{
if (y - year >= 1)
{
int ans = 365 * (y - year - 1);
for (int i = year + 1; i < y; i++)
{
if (isLeapYear(i))
ans++;
}
return ans * 60 * 60 * 24;
}
else
{
return -(365 + isLeapYear(year)) * 60 * 60 * 24;
}
}
};
int isLeapYear(int i)
{
if (i % 400 == 0 || (i % 4 == 0 && i % 100 != 0))
return 1;
else
return 0;
}
int main()
{
int y1, mon1, d1, h1, min1, s1;
cin >> y1 >> mon1 >> d1 >> h1 >> min1 >> s1;
int y2, mon2, d2, h2, min2, s2;
cin >> y2 >> mon2 >> d2 >> h2 >> min2 >> s2;
DateTime t1, t2;
t1.init(y1, mon1, d1, h1, min1, s1);
t2.init(y2, mon2, d2, h2, min2, s2);
cout << 60 * 60 * 24 * (365 + isLeapYear(y1)) - t1.secondtoBegin() + t1.GapYearSecond(y2) + t2.secondtoBegin();
return 0;
}
Copy
- 1
信息
- ID
- 1008
- 难度
- 3
- 分类
- (无)
- 标签
- 递交数
- 264
- 已通过
- 128
- 通过率
- 48%
- 被复制
- 9
- 上传者