得分情况 :

        估分:

          100+30+30=160;

        实际:

          95+70+25=190;


  T1 :

     题意:

          有n块钱,买三种文具,分别为 a:7元、b:4元、c:3元,问怎么买能让n元钱全部用完,而且使 min(a,b,c) 最大,满足以上条件后再使a+b+c最大。如果钱无论如何都用不完就输出-1。

     数据范围:

          1≤n≤105


  分析:

      直接暴力!!!

      分别枚举a,b,c,输出最佳结果。

      但光枚举肯定会爆掉,要优化一下。我们看到n元必须全部用完,那么就只枚举a,b,再通过 c=(n-a*7-b*4)/3 算出c。因为钱必须用完,所以 (n-a*7-b*4)/3 应该没有余数。

      接下来我们再把a和b的枚举过程优化,总价钱肯定不能超n,所以a得从0枚举到n/7,剩下的钱就枚举b了,所以b的从0枚举到n-a*7。结束。


  代码如下:

//我的代码   95分 

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std; int main()
{
int n,Min=,ra,rb,rc,res=;
scanf("%d",&n);
for(int a=;a*<=n;a++)
{
for(int b=;b*<=n-a*;b++)
{
if((n-(*a+*b))%==)
{
int c=(n-(*a+*b))/;
int i=min(min(a,b),c),j=a+b+c;
if(i>Min)
{
Min=i,res=j;
ra=a,rb=b,rc=c;
}
else if(i==Min&&j>res)
{
res=j;
ra=a,rb=b,rc=c;
} }
}
}
if(n==) puts("0 0 0");
else
if(!Min&&!res) puts("-1");
else
printf("%d %d %d",ra,rb,rc);
} //我的满分代码
//说实话 没看出有啥不同 #include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std; int main()
{
int n,Min=,ra,rb,rc,res=;
scanf("%d",&n);
for(int a=;a*<=n;a++)
{
for(int b=;b*<=n-a*;b++)
{
if((n-(*a+*b))%==)
{
int c=(n-(*a+*b))/;
int i=min(min(a,b),c),j=a+b+c;
if(i>Min)
{
Min=i,res=j;
ra=a,rb=b,rc=c;
}
else if(i==Min&&j>res)
{
res=j;
ra=a,rb=b,rc=c;
} }
}
}
if(n==) puts("0 0 0");
else
if(!Min&&!res) puts("-1");
else
printf("%d %d %d",ra,rb,rc);
}

  T2:

      数据太大,只会用DP骗一下分。QAQ


  T3:

      不会,只会写正常的最短路。QAQ


    ~END~

最新文章

  1. Atitit.研发团队与公司绩效管理的原理概论的attilax总结
  2. HBase框架学习之路
  3. TestNG教程
  4. JQ学习(三)-ajax
  5. Oracle中的带参数的视图--我们致力于打造人力资源软件
  6. Sql server 数据库 int 和guid 两者的比较
  7. 类模板的困扰 LNK2019 (转)
  8. 运用集合来做一个DVD管理器(全代码)
  9. 2014年度辛星html教程夏季版第二节
  10. Oracle RAC 环境下的连接管理
  11. odi增量更新策略
  12. Struts2-3.struts.xml的action可以简写
  13. elasticsearch 源码本地环境搭建
  14. webpack模块机制浅析【一】
  15. __get__ __set__ __delete__描述符
  16. 大数据离线分析平台 用户数据Etl
  17. FTP中各文件目录的说明
  18. 防止xss攻击的核心代码
  19. 位运算 进制转化 STL中bitset用法
  20. [技巧篇]17.那些年一直再逃避的问题,还债Web阶段!

热门文章

  1. Java中环境变量PATH与CLASSPATH的区别
  2. Java实现斐波那契数列的多种方法
  3. Java实现行列递增矩阵的查找
  4. java实现第六届蓝桥杯星系炸弹
  5. BigDecimal的setScale常用方法(ROUND_UP、ROUND_DOWN、ROUND_HALF_UP、ROUND_HALF_DOWN)
  6. ubuntu下创建流媒体服务器的步骤
  7. Jenkins入门教程(一):Windos下Jenkins的安装教程
  8. QT creator视频教程分享
  9. 微信小程序踩坑之前端问题处理篇
  10. vue-drag-resize 可拖拽可缩放的标签,如何管理多个拖拽元素之间的zIndex?操作上需要保持当前激活的组件是最上层,但是在总体上,又要确保其图层管理的顺序。