http://acm.hdu.edu.cn/showproblem.php?pid=2566

假设一堆由1分、2分、5分组成的n个硬币总面值为m分,求一共有多少种可能的组合方式(某种面值的硬币可以数量可以为0)。
输入数据第一行有一个正整数T,表示有T组测试数据;
接下来的T行,每行有两个数n,m,n和m的含义同上。
对于每组测试数据,请输出可能的组合方式数;
每组输出占一行。
Sample Input
2
3 5
4 8
Sample Output
1
2
 
【题解】: 这里没有给出n,m的范围,建议使用第三种【code3】方式解
 
【code1】:暴力O(N*N)
 #include <iostream>
#include <stdio.h>
#include <string.h> using namespace std; int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int i,n,m,j;
scanf("%d%d",&n,&m);
int cnt=;
for(i=;i<=m/;i++)
{
for(j=;j<=m/;j++)
{
if(n-i-j+j*+i*==m&&n-i-j>=)
{
cnt++;
}
}
}
printf("%d\n",cnt);
}
return ;
}

【code2】:暴力 O(N)
  似乎只要1、2、5,硬币的个数中的一个固定了,另外两个也就一定

 #include <iostream>
#include <stdio.h>
#include <string.h> using namespace std; int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int i,n,m;
scanf("%d%d",&n,&m);
int cnt=;
for(i=;i<=m/;i++)
{
int ln = n-i;
int lm = m-i*;
if(lm>=ln&&lm<=*ln)
{
cnt++;
}
}
printf("%d\n",cnt);
}
return ;
}
 【code3】:优化(推荐)
 #include <iostream>
#include <stdio.h>
#include <string.h> using namespace std; int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,m,mins,maks;
scanf("%d%d",&n,&m);
if(m>=n) maks=(m-n)/;
else
{
puts("");
continue;
}
if(m-*n>=)
{
if((m-*n)% == )
mins=(m-*n)/;
else
mins=(m-*n)/ + ;
}
else mins=;
printf("%d\n",maks-mins+);
}
return ;
}

最新文章

  1. iOS 正确选择图片加载方式
  2. 一个基于Microsoft Azure、ASP.NET Core和Docker的博客系统
  3. Android ndk另一种注册方式
  4. IOS第二天多线程-03对列组合并图片
  5. 重构24-Remove Arrowhead Antipattern(去掉箭头反模式)
  6. 李洪强漫谈iOS开发[C语言-040]-switch case
  7. poj2376
  8. 【转】Emmagee app性能测试工具使用教程
  9. php笔试算法题:顺时针打印矩阵坐标-蛇形算法
  10. 从C#到TypeScript - Proxy
  11. java TreeSet 应用
  12. BCryptPasswordEncoder加密及判断密码是否相同
  13. JAVA序列化基础知识
  14. 《python语言程序设计》_第三章(数字函数、字符串和对象)
  15. ajax 上传文件给webapi(带basic认证)
  16. flask中的wtforms使用
  17. git tag 常用操作
  18. 【转】每天一个linux命令(1):ls命令
  19. python-异常
  20. java使用elasticsearch分组进行聚合查询(group by)-项目中实际应用

热门文章

  1. poj 2823 单调队列
  2. Oracle创建表空间、新建用户和授权
  3. Codevs 2307[SDOI2009]HH的项链
  4. .NET 认识
  5. 上传系列:jquery.upload.js
  6. Android 扫描蓝牙设备
  7. JavaBean之简单应用JSP页面
  8. Redis rdb文件CRC64校验算法 Java实现
  9. 哆啦A梦连连看游戏源码完整版
  10. Get vertical scrollbar width and example