人活着系列之平方数

Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^

题目描述

偶然和必然?命运与意志?生与死?理性与情感?价值与非价值?在“人活着是为什么?”的问题面前都变成无意义了。婚姻?家庭?事业?爱情?这何尝不是一种借口,去诠释活着的另外一种理由,听起来显得堂而皇之一点罢了。所以活着的同时,为什么不做一做平方数?

平方数是指可以写成某个整数的平方的数。例如1,4,9等。现在我们有20个平方数,它们分别是1^2,2^2,3^2,4^2……20^2,我们想知道对于一个整数n,它可以表示成多少种平方数的和,注意每个平方数可以使用无限次。

例如 n = 10,那么

10 = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1;

10 = 1 + 1 + 1 + 1 + 1 + 1 + 4;

10 = 1 + 1 + 4 + 4;

10 = 1 + 9;

因此整数10可以表示成4种平方数的和。

输入

多组输入,每组输入一行,表示正整数n(1 <= n <= 500)

输出

对于每一组,输出一行,代表整数n可以表示成平方数和的种数。

示例输入

2

10

30

示例输出

1

4

27

开始的时候,没有看懂题意,后来YF说是背包,秒懂,原来是背包啊

#include <bits/stdc++.h>
#define RR freopen("input.txt","r",stdin)
#define WW freopen("ouput.txt","w",stdout) using namespace std;
const int INF=0x3f3f3f3f;
int main()
{
int Arr[20];
int Dp[1000];
for(int i=1;i<=20;i++)
{
Arr[i-1]=i*i;
}
int n;
while(~scanf("%d",&n))
{
memset(Dp,0,sizeof(Dp));
Dp[0]=1;
for(int i=0;i<20;i++)
{
for(int j=Arr[i];j<=n;j++)//完全背包
{
Dp[j]+=Dp[j-Arr[i]]; }
}
printf("%d\n",Dp[n]);
}
return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

人活着系列之平方数 分类: sdutOJ 2015-06-22 17:10 7人阅读 评论(0) 收藏的更多相关文章

  1. sdut 2934 人活着系列之平方数 (完全背包变形)

    题目链接 分析:完全背包的变形,每一层的d[]数组代表这一层的这个数新加入以后所构成的val的种类. #include <iostream> #include <cstdio> ...

  2. 小P的故事——神奇的换零钱&&人活着系列之平方数

    http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2777&cid=1219 这题不会,看了别人的代码 #include <iostre ...

  3. c++map的用法 分类: POJ 2015-06-19 18:36 11人阅读 评论(0) 收藏

    c++map的用法 分类: 资料 2012-11-14 21:26 10573人阅读 评论(0) 收藏 举报 最全的c++map的用法 此文是复制来的0.0 1. map最基本的构造函数: map&l ...

  4. sscanf 函数 分类: POJ 2015-08-04 09:19 4人阅读 评论(0) 收藏

    sscanf 其实很强大 分类: 纯C技术 技术笔记 2010-03-05 16:00 12133人阅读 评论(4) 收藏 举报 正则表达式stringbuffercurlgoogle 最近在做日志分 ...

  5. C语言中返回字符串函数的四种实现方法 2015-05-17 15:00 23人阅读 评论(0) 收藏

    C语言中返回字符串函数的四种实现方法 分类: UNIX/LINUX C/C++ 2010-12-29 02:54 11954人阅读 评论(1) 收藏 举报 语言func存储 有四种方式: 1.使用堆空 ...

  6. 博弈论入门小结 分类: ACM TYPE 2014-08-31 10:15 73人阅读 评论(0) 收藏

    文章原地址:http://blog.csdn.net/zhangxiang0125/article/details/6174639 博弈论:是二人或多人在平等的对局中各自利用对方的策略变换自己的对抗策 ...

  7. C#类型 分类: C# 2015-03-09 08:44 202人阅读 评论(0) 收藏

    C# 类型 引言 本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone其实也就是对象复制.复制又 ...

  8. iOS开源库--最全的整理 分类: ios相关 2015-04-08 09:20 486人阅读 评论(0) 收藏

    youtube下载神器:https://github.com/rg3/youtube-dl 我擦咧 vim插件:https://github.com/Valloric/YouCompleteMe vi ...

  9. C语言基础总结 分类: iOS学习 c语言基础 2015-06-11 10:08 23人阅读 评论(0) 收藏

    //欲练此功必先自宫!!!     //第一天:C语言的基础     //进制     //2进制, 10进制, 8进制, 16进制     //注:8进制数前加0, 16进制数前加0x        ...

随机推荐

  1. java 笔记(5) —— 线程,yield,join

    一.线程各个状态与转换: 新建状态:用new语句创建的线程对象处于新建状态,此时它和其它的java对象一样,仅仅在堆中被分配了内存 .就绪状态:当一个线程创建了以后,其他的线程调用了它的start() ...

  2. php基础语法学习汇总

    常量学习: <?php # function demo function sum($x,$y){ $z=$x+$y; return $z; } echo sum(1,2); #define de ...

  3. iphone 语音备忘录 同步问题

    iphone 是很人性化的,但itune是反人类的. 我想同步电话里的语音备忘录,结果有几个记录在itunes里面是不显示的,无法同步出来. 找了很多解决方法,最后找了ifunbox才搞定.

  4. 《30天自制操作系统》08_day_学习笔记

    harib05a: 鼠标解读(01)P145 前一天已经让鼠标成功接收数据了,这些数据是什么意思? 笔者在这一部分来解读数据:让鼠标动起来啊,停在那不动有什么意思啊! 前面已经知道,鼠标每一次动作都是 ...

  5. 两条直线(蓝桥杯)二分枚举+RMQ

    算法提高 两条直线   时间限制:1.0s   内存限制:256.0MB        问题描述 给定平面上n个点. 求两条直线,这两条直线互相垂直,而且它们与x轴的夹角为45度,并且n个点中离这两条 ...

  6. using 名称空间指定一个别名

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. fzuoj Problem 2179 chriswho

    http://acm.fzu.edu.cn/problem.php?pid=2179 Problem 2179 chriswho Accept: 57    Submit: 136 Time Limi ...

  8. find 命令使用总结

    参考:http://os.51cto.com/art/200908/141119.htm 1.find命令的一般形式 find pathname -options [-print -exec -ok ...

  9. python在window下的Nginx部署

    Python版本3.21 安装nginx下载windows上的nginx最新版本,http://www.nginx.org/en/download.html.解压后即可.运行nginx.exe后本地打 ...

  10. (七)DAC0832 数模转换芯片的应用 以及运算放大器的学习 01

    DAC0832是8分辨率的D/A转换集成芯片.与微处理器完全兼容.这个DA芯片以其价格低廉.接口简单.转换控制容易等优点,在单片机应用系统中得到广泛的应用.D/A转换器由8位输入锁存器.8位DAC寄存 ...