Tsinsen A1129 税收与补贴问题
2016-04-06 22:32
387 查看
http://oj.tsinsen.com/ViewGProblem.page?gpid=A1129
分析:这个题我是暴力做的..没任何思想,一道诡异的数学题,每个线性都不一样我没推出如何确定可能的极值点。
代码:
#include "cstdio" #include "algorithm" using namespace std; struct Node { int p, s; }Solve[100050]; bool f(const Node & a, const Node & b) { return a.p < b.p; } int Delta, EPrice, cnt, ESell, CPrice, CSell; int main() { scanf("%d%d%d", &EPrice, &CPrice, &CSell); Solve[cnt].p = CPrice; Solve[cnt].s = CSell; cnt += 1; if (CPrice == EPrice) ESell = CSell; int u, v; while (scanf("%d%d", &u, &v), u != -1 && v != -1) { Solve[cnt].p = u; Solve[cnt].s = v; cnt += 1; if (u == EPrice) ESell = v; } scanf("%d", &Delta); sort(Solve, Solve + cnt, f); for (int i = 0, sup = cnt - 1; i < sup; ++i) { int xDelta = (Solve[i].s - Solve[i + 1].s) / (Solve[i + 1].p - Solve[i].p); int p = Solve[i].p + 1, s = Solve[i].s - xDelta; while (p < Solve[i + 1].p) { if (p == EPrice) ESell = s; Solve[cnt].p = p; Solve[cnt].s = s; cnt += 1; p += 1; s -= xDelta; } } sort(Solve, Solve + cnt, f); int p = Solve[cnt - 1].p + 1, s = Solve[cnt - 1].s - Delta; while (s > 0) { if (p == EPrice) ESell = s; Solve[cnt].p = p; Solve[cnt].s = s; cnt += 1; p += 1; s -= Delta; } for (int i = 0; i <= 500; ++i) { int Std = (EPrice + i - CPrice) * ESell, Can = 1; for (int k = 0; k < cnt; ++k) { int Benifit = (Solve[k].p + i - CPrice) * Solve[k].s; if (Benifit > Std) { Can = 0; break; } } if (Can) { printf("%d\n", i); return 0; } } for (int i = 1; i <= 500; ++i) { int Std = (EPrice - i - CPrice) * ESell, Can = 1; for (int k = 0; k < cnt; ++k) { int Benifit = (Solve[k].p - i - CPrice) * Solve[k].s; if (Benifit > Std) { Can = 0; break; } } if (Can) { printf("%d\n", -i); return 0; } } puts("NO SOLUTION"); return 0; }
相关文章推荐
- LeetCode(28)-Remove Duplicates from Sorted Array
- LeetCode(28)-Remove Duplicates from Sorted Array
- hdu2588(欧拉函数的应用)
- Python开发测试工具(二)—Monkey工具的优化
- 详解SQL Server连接(内连接、外连接、交叉连接)
- 复利计算-结对编程
- 每日一题
- 详解linux系统的启动过程及系统初始化
- BAT、网易、蘑菇街面试题整理-7
- Ping测试网络连接状况
- Android开发-简单的图片浏览器
- javascript技术难点(三)之this、new、apply和call详解
- 计算机
- 第七周
- 【Noip模拟By yxj】
- 20135323符运锦----《深入理解计算机系统》第七章知识点总结
- hdoj--5253--连接的管道(最小生成树)
- 【python学习】pip安装及使用
- 产品体验-潮汐
- iOS copy mutableCopy 的实现