ACM学习历程—Hihocoder 1288 Font Size(暴力 || 二分)
2016-04-09 13:15
363 查看
http://hihocoder.com/problemset/problem/1288
这题是这次微软笔试的第一题,关键的是s的上限是min(w, h),这样s的范围只有到1000,这样就可以直接暴力了,当然用二分也行,不过暴力写起来更快一点。
代码:
View Code
这题是这次微软笔试的第一题,关键的是s的上限是min(w, h),这样s的范围只有到1000,这样就可以直接暴力了,当然用二分也行,不过暴力写起来更快一点。
代码:
#include <iostream> #include <cstdio> #include <cstdlib> #include <cmath> #include <cstring> #include <algorithm> #include <set> #include <map> #include <queue> #include <vector> #include <string> #define LL long long using namespace std; int n, w, h, p; int a[1005]; void input() { scanf("%d%d%d%d", &n, &p, &w, &h); for (int i = 0; i < n; ++i) scanf("%d", &a[i]); } bool judge(int s) { int all = p*(h/s), sum = 0, k = w/s; for (int i = 0; i < n; ++i) sum += a[i]%k ? a[i]/k+1 : a[i]/k; if (sum <= all) return true; else return false; } void work() { int len = min(w, h); for (int s = len; s >= 0; --s) { if (judge(s)) { printf("%d\n", s); return; } } } int main() { //freopen("test.in", "r", stdin); int T; scanf("%d", &T); for (int times = 1; times <= T; ++times) { input(); work(); } return 0; }
View Code
相关文章推荐
- 写一个函数返回参数二进制中 1 的个数
- 数组的倒叙输出 (排列)
- Jquery Validation 插件验证手机号
- LeetCode 18 4Sum
- 【数字智能三篇】之一: 一页纸说清楚“什么是大数据”
- CentOS下LAMP网站架构之Apache性能调优篇
- Nancy之结合tinyfox给我们的应用提供简单的数据服务
- 网站性能优化
- 使用hadoop实现关联商品统计
- POSIX 线程编程小结
- MFC之picture控件滚动条的实现
- 二分 小结
- Angle Admin Template 介绍
- 快速排序递归与非递归
- 第三次作业 价值观作业
- 专用于高并发的map类-----Map的并发处理(ConcurrentHashMap)
- Spring参考指南
- 基于深度学习的图像识别进展:百度的若干实践
- 《Linux内核分析》第七周学习总结
- R语言中的matrix(矩阵),list(列表),data.frame(数据框)总结