測试赛C - Eqs(哈希)
2023-09-11 14:14:43 时间
C - Eqs
Time Limit:5000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u
Description
Consider equations having the following form:
a1x1 3+ a2x2 3+ a3x3 3+ a4x4 3+ a5x5 3=0
The coefficients are given integers from the interval [-50,50].
It is consider a solution a system (x1, x2, x3, x4, x5) that verifies the equation, xi∈[-50,50], xi != 0, any i∈{1,2,3,4,5}.
Determine how many solutions satisfy the given equation.
a1x1 3+ a2x2 3+ a3x3 3+ a4x4 3+ a5x5 3=0
The coefficients are given integers from the interval [-50,50].
It is consider a solution a system (x1, x2, x3, x4, x5) that verifies the equation, xi∈[-50,50], xi != 0, any i∈{1,2,3,4,5}.
Determine how many solutions satisfy the given equation.
Input
The only line of input contains the 5 coefficients a1, a2, a3, a4, a5, separated by blanks.
Output
The output will contain on the first line the number of the solutions for the given equation.
Sample Input
37 29 41 43 47
Sample Output
654
哈希存下一開始的两个值,看找后面三个的和,看能不能出现0
让5个for循环转化为1个双重for循环+1个三重for循环
#include <cstdio> #include <cstring> #include <algorithm> #define maxint 25000000 using namespace std; short p[25000001]; int main() { int a, b, c, d, e, i, j, k, n, s; while(scanf("%d %d %d %d %d", &a, &b, &c, &d, &e)!=EOF) { s = 0; memset(p,0,sizeof(p)); for(i = -50; i <= 50 ; i++) { if(!i) continue ; for(j=-50; j<=50; j++) { if(!j) continue ; n = i*i*i*a + j*j*j*b ; n = -n ; if(n<0) n += maxint ; p[n]++; } } for(i = -50 ; i <= 50; i++) { if(!i) continue ; for(j = -50; j <= 50; j++) { if(!j) continue ; for(k = -50; k <= 50; k++) { if(!k) continue ; n= i*i*i*c + j*j*j*d + k*k*k*e; if(n < 0) n += maxint ; if(p[n]) s += p[n]; } } } printf("%d\n",s); } return 0; }
相关文章
- M: Mysterious Conch 字符串哈希
- C#Redis哈希Hashes
- 列表 数组 哈希表
- LeetCode-1138. 字母板上的路径【哈希表,字符串】
- LeetCode-1640. 能否连接形成数组【数组,哈希表】
- LeetCode-791. 自定义字符串排序【哈希表,字符串,排序】
- 哈希冲突概率计算及python仿真
- Java版一致性哈希
- Atititt java redis jedis 使用 Redis体系 Redis 命令 Redis 命令Redis 键(key)Redis 字符串(String)Redis 哈希(Hash)R
- 310. 最小高度树-哈希表法+拓扑排序
- 1590. 使数组和能被 P 整除-哈希表法
- oracle 表连接 - hash join 哈希连接
- 信息安全(一)-编码算法【base64编码、base58编码】、哈希算法【MD、sha、RipeMD-XX、hamc】
- 力扣-巧妙哈希
- 大规模异常滥用检测:基于局部敏感哈希算法——来自Uber Engineering的实践
- Windows自带渗透工具Certutil介绍(免杀、哈希计算、md5、sha256、下载文件、base64编码)
- 哈希表专题~专治各种重复症状