zoukankan      html  css  js  c++  java
  • 測试赛C

    C - Eqs
    Time Limit:5000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u
    Submit Status

    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. 

    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
    ",s);
        }
        return 0;
    }
    


  • 相关阅读:
    一、CentOS 7安装部署GitLab服务器

    四、指定Nginx启动用户
    三、Nginx支持php
    二、Nginx多站点配置(参考宝塔的)分析
    一、Nginx多站点配置
    一、PHP和Apache实现多用户自助建站
    Flask+uwsgi+Nginx+Ubuntu部署
    flask 上传头像
    flask 分页
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6745308.html
Copyright © 2011-2022 走看看