题目描述

源代码

思路:这道题显然的思路就是暴力枚举。但是直接四个for循环暴力枚举的话,只能得到一部分的分数,数据规模稍微大点就会超时。因此我们需要优化枚举循环。
借助map中的哈希表来进行操作,就会直接将for循环的时间复杂度给降下去,说白点,就是纯粹的用空间换时间。看代码

#include<iostream>
#include<cmath>
#include<map>
using namespace std;int main()
{int n;cin>>n;map<int,int> map;for(int c=0;c*c<=n/2;c++){for(int d=c;c*c+d*d<=n;d++){if(map.find(c*c+d*d) == map.end()) map[c*c+d*d]=c;}}for(int a=0;a*a<=n/4;a++){for(int b=a;a*a+b*b<=n/2;b++){if(map.find(n-a*a-b*b) != map.end()) {int c=map[n-a*a-b*b];int d=sqrt(n-a*a-b*b-c*c);cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl; return 0;}}}return 0;
}

蓝桥杯2016年第七届C/C++省赛B组第八题-四平方和相关推荐

  1. 暴力优化解法+哈希解法——2016年第七届蓝桥杯省赛b组第八题 四平方和

    Problem describe 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0 ...

  2. [蓝桥杯][2016年第七届真题]压缩变换(主席树求区间不同数的个数)

    题目描述 小明最近在研究压缩算法. 他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比. 然而,要使数值很小是一个挑战. 最近,小明需要压缩一些正整数的序列,这些序列的特点是,后面 ...

  3. [蓝桥杯][2016年第七届真题]冰雹数(暴力打表找规律)

    题目描述 任意给定一个正整数N, 如果是偶数,执行: N / 2 如果是奇数,执行: N * 3 + 1 生成的新的数字再执行同样的动作,循环往复. 通过观察发现,这个数字会一会儿上升到很高, 一会儿 ...

  4. [蓝桥杯][2016年第七届真题]密码脱落(记忆化搜索)

    题目描述 X星球的考古学家发现了一批古代留下来的密码. 这些密码是由A.B.C.D 四种植物的种子串成的序列. 仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串). 由于年代久远,其 ...

  5. 蓝桥杯2016年第七届真题——四平方和

    四平方和 一.题目内容 题目描述 四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和,如果把0包括进去,就正好可以表示为4个数的平方和.比如:5 = 0^2 + 0^2 + ...

  6. 蓝桥杯2016年第七届真题-路径之谜

    题目描述 小明冒充X星球的骑士,进入了一个奇怪的城堡. 城堡里边什么都没有,只有方形石头铺成的地面. 假设城堡地面是 n x n 个方格.[如图1.png]所示. 按习俗,骑士要从西北角走到东南角. ...

  7. 第七届蓝桥杯b组第八题-四平方和

    四平方和 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1^2 + 2 ...

  8. java蓝桥杯凑算是,第七届蓝桥杯JAVA B组真题解析-凑算式(第三题)

    第七届蓝桥杯JAVA B组真题解析-凑算式(第三题) 凑算式 A+B/C+DEF/GHI =10 (如果显示有问题,可以参见[图1.jpg]) 这个算式中AI代表19的数字,不同的字母代表不同的数字. ...

  9. 蓝桥杯嵌入式STM32G431——第七届省赛真题模拟液位检测告警系统

    第七届省赛真题模拟液位检测告警系统 第七届省赛真题 主函数部分的代码功能实现(不包含各模块初始化代码) 第七届省赛真题 主函数部分的代码功能实现(不包含各模块初始化代码) #include " ...

  10. 征战蓝桥 —— 2016年第七届 —— C/C++A组第8题——四平方和

    题目 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1^2 + 2^2 ...

最新文章

  1. 研发管理101军规#001 两周迭代,形成团队持续习惯
  2. pycharm(windows)安装及其设置中文菜单
  3. python定义对象的比较方法
  4. Web 安全与 Rational AppScan 入门
  5. day9 集合基础命令
  6. NameError: name ‘os‘ is not defined - 解决
  7. Spring集成quartz实现的定时任务调用
  8. 计算机装调与维护报告,Vmware workstation在计算机装调与维护实训中的应用
  9. 阿里云云原生一体化数仓入选 2022数博会“十佳大数据案例”
  10. 水木周平戏说中国网络黑幽默!
  11. IDEA运行web项目路径中去掉项目名称
  12. java迭代法求圆周率用梯形_常用的圆周率计算公式
  13. html上下滑动视频代码,h5 实现视频手势上下屏滑动 (类似抖音)
  14. IC学习笔记3——异步FIFO
  15. 对自己大学的期望与目标
  16. 常用的PostMethod及getMethod请求
  17. 基于SSM旅游纪念品购物网站(idea-javaweb-javaee-j2ee-springboot)订单管理-购物评价-会员管理-购物车实现
  18. uTools插件-Excalidraw轻量的在线白板绘图工具
  19. 钉钉老版本下载3.31_钉钉旧版本下载-钉钉老版本v3.4.6 安卓版 - 极光下载站
  20. js 获取浏览器高度和宽度值(兼容多浏览器)

热门文章

  1. TX2Ubuntu16.04上安装 kinectV2
  2. [转]GO err is shadowed during return
  3. 罗马数字与阿拉伯数字转换
  4. CentOS 7下安装GUI图形界面
  5. CS20Chapter2
  6. 数学之美_正态分布(详解)
  7. ACCESS数据库增强器需求及介绍
  8. Jquery Dialog 详解(正在学习jquery,详解转载)
  9. matplotlib-legend 位置属性 loc 使用
  10. 【论文阅读】Deep Residual Learning for Image Recognition