CodeForces 618A Slime Combining
2016-01-30 11:43
459 查看
明明觉得是水题,而我却做了一个小时。
明明觉得代码没有错,而我却错了好几次。
因为我的名字不叫明明,也不叫铭铭T_T最后还是铭神指出了我的错误
又新学到了新的姿势:
1.浮点数的比较要用eps来比较
2.log2(n)要写成log10(n)/log10(2)
其他的话这道题目刚开始没有思路,其实在草稿纸上写一下就可以发现了哦我的表达能力太差了只可意会不可言传T_T
#include <cstdio> #include <iostream> #include <cmath> #include <cstring> #include <queue> #include <vector> #include <algorithm> #define rep(i,a,n) for(int i = a;i < n;i++) #define per(i,n,a) for(int i = n-1;i >=a;i--) #define pb push_back #define VI vector<int> #define QI queue<int> #define log2(N) log10(N)/log10(2) #define eps 1e-8 typedef long long ll; using namespace std; int n; //int a[M][P] = {}; void solve(int b){ int m = b; while(log2(m) - floor(log2(m))>eps){ m--; } int tmp = b - m; int d = floor(log2(m)+1); if(tmp == 0){ printf("%d",d); return; } printf("%d ",d); solve(tmp); } int main(){ while(~scanf("%d",&n)){ solve(n); puts(""); } return 0; }
View Code
相关文章推荐
- 使用keepalived来实现nginx的高可用
- 数据挖掘综述
- 字典树C语言实现
- C#中out和ref之间的区别
- 安卓特色服务之定位服务(百度地图二)
- 使用SLF4J+Logback作为Java项目的日志框架
- cf#Wunder Fund Round 2016 -A - Slime Combining-简单数学
- jlink调试stm32,debug时读取内存值
- ruby中sequel使用dateformat等function
- 第九讲 背包问题问法的变化
- 从VC6.0工程转向VC2010碰到的问题
- json转数组
- Git忽略规则及.gitignore规则不生效的解决办法
- 5 秒后跳转 到指定页面
- R语言数据挖掘常用资源
- android M权限问题
- php获取字符串的编码格式的方法(函数)
- webpack入门(四)webpack的api 2 module
- 高德地图去掉logo
- 关于MATLAB2014b不能并行计算的原因及解决方法