JU0rMQ 的题解
记住只在没有思路时使用题解,不要从它复制粘贴代码。请尊重题目和题解的作者。
在解题之前提交题解的代码会导致封禁。
在解题之前提交题解的代码会导致封禁。
作者:
概述
本题要求根据评测时的当前分钟数,输出 Project Euler 中对应题号的答案。核心解法是解码题目名称得到题号规则,选手只需在对应分钟数解出该题并提交。
分析
核心观察
题目名称 JU0rMQ 经 base64 解码后得到字符串 %M+1,其中 %M 是 strftime 的分钟格式符,因此题号为当前分钟数加一。正文内容为 Project Euler 的介绍,被掩盖的词是 Project Euler。
思路
设评测时的分钟数为 ,则题号
。题号范围在
到
之间(因为分钟数最大为
)。实际比赛中,选手只需根据当前分钟数确定题号,然后独立求解该题号的 Project Euler 题目,并在该分钟提交答案。例如,若当前分钟为
,则题号为
,选手应解出 Project Euler 第
题并提交答案
;若分钟为
,则题号为
,选手应解出第
题并提交答案
。为了提供可直接运行的代码,本题解预存了第
至第
题的答案,程序根据当前分钟数查询并输出对应答案。
具体示例
若评测时分钟为 ,则题号 =
,输出 Project Euler 第
题答案
。若分钟为
,则题号 =
,输出第
题答案
。
算法步骤
- 获取当前时间的分钟数
minute。 - 计算题号
idx=minute+。
- 从预存答案数组中取出
answers[idx]。 - 输出
answers[idx]。
(若选手实际解题,则步骤为:1. 获取当前分钟数,确定题号;2. 解出该题号的 Project Euler 题目;3. 在对应分钟提交答案。)
复杂度分析
时间:
空间:
实现注意事项
- 分钟数范围
到
,题号范围
到
,需确保答案数组覆盖所有可能题号。
- 实际比赛中,选手只需解出当前分钟对应的那一题,不必预存所有答案;预存所有答案是为了提供可直接提交的代码。
- 答案数组直接使用推导出的常量,不在代码中重新计算。
- 输出为单个整数,无多余空格或换行。
- 本题无输入,直接输出答案。
源代码
#include <bits/stdc++.h>
using namespace std;
int main() {
time_t now = time(nullptr);
tm *local = localtime(&now);
int minute = local->tm_min;
int idx = minute + 1;
const long long answers[] = {
0,
233168, 4613732, 6857, 906609, 232792560,
25164150, 104743, 23514624000, 31875000, 142913828922,
70600674, 76576500, 5537376230, 837799, 137846528820,
1366, 21124, 1074, 171, 648,
31626, 871198282, 4179871, 2783915460, 4782,
983, -59231, 669171001, 9183, 443839,
73682, 45228, 100, 40730, 55,
872187, 748317, 932718654, 840, 210,
7652413, 162, 16695334890, 5482660, 1533776805,
5777, 134043, 9110846700, 296962999629, 997651,
121313, 142857, 4075, 376, 249,
972, 153, 26241, 129448, 26033
};
cout << answers[idx] << endl;
return 0;
}
import time
minute = time.localtime().tm_min
idx = minute + 1
answers = [
0,
233168, 4613732, 6857, 906609, 232792560,
25164150, 104743, 23514624000, 31875000, 142913828922,
70600674, 76576500, 5537376230, 837799, 137846528820,
1366, 21124, 1074, 171, 648,
31626, 871198282, 4179871, 2783915460, 4782,
983, -59231, 669171001, 9183, 443839,
73682, 45228, 100, 40730, 55,
872187, 748317, 932718654, 840, 210,
7652413, 162, 16695334890, 5482660, 1533776805,
5777, 134043, 9110846700, 296962999629, 997651,
121313, 142857, 4075, 376, 249,
972, 153, 26241, 129448, 26033
]
print(answers[idx])
评论