hitwh 2019 新生赛 D Songer 的排兵布阵
描述
King.Songer 在外出打仗时,也没有放松自己本土的防御。 在冷兵器时代,将士们都喜欢让自己的士兵把自己围起来,自己则在阵式中心发号施令。
King.Songer 是一个很擅长数学的将领,他发现,如果把士兵们围成一个三角形,不仅进攻灵活,防守也固若金汤。更进一步的,假定他使用了 \(a,b,c\) 个士兵围成了三条边,根据神秘的东方力量,这个阵应该满足 \(a^2+b^2=c^2+1\) 来达到最大的攻击和防御力。
现在 King.Songer 共计有 \(n\) 位士兵,他想知道,在总使用士兵数不超过 \(n\) 的情况下,共计有多少种不同的布阵方法?因为阵式是可以旋转的,所以他只想知道 \(a \le b \le c\) 的布阵方法。
输入
输入仅包含一个整数 \(n(3 \le n \le 2 \times 10^6)\),代表 King.Songer 拥有的兵力总数。
输出
在一行中输出两个整数:第一个整数为满足要求的三元组的个数,第二个整数为 \(⨁(a + b) ⊕ c\),即两条短边和异或上长边和的异或和。
输入样例 #1
10
输出样例 #1
4 4
输入样例 #2
2000000
输出样例 #2
4219646 489062
样例解释
对于第一个输入样例,共有四组满足条件的三元组:\((1, 1, 1),(1, 2, 2),(1, 3, 3),(1, 4, 4)\)。
信息
- ID
- 1003
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 31
- 已通过
- 2
- 通过率
- 6%
- 上传者