Amphiphilic Carbon Molecules UVA
来源:互联网 发布:java stringbuffer方法 编辑:程序博客网 时间:2024/05/16 07:17
题目传送门
题意:平面上有n个点,每一个点为白点或者黑点。现在要放置一个隔板,使得隔板的一侧白点加上另一侧黑点的总数最大。
思路:这个题借鉴了这位博主的做法http://blog.csdn.net/u014800748/article/details/47952253
#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <fstream>#include <iostream>#include <list>#include <map>#include <queue>#include <set>#include <sstream>#include <stack>#include <string>#include <vector>#define MAXN 1010#define MAXE 210#define INF 10000000#define MOD 1000000007#define LL long long#define pi acos(-1.0)using namespace std;struct Point { int x; int y; double rad; bool operator<(const Point &p) const { return rad < p.rad; }} p[MAXN], point[MAXN];int color[MAXN];int n;bool check(Point p1, Point p2) { return p1.x * p2.y - p1.y * p2.x >= 0; }int solve() { if (n <= 2) return 2; int ans = 0; for (int i = 0; i < n; ++i) { int num = 0; for (int j = 0; j < n; ++j) { if (j != i) { p[num].x = point[j].x - point[i].x; p[num].y = point[j].y - point[i].y; if (color[j]) { p[num].x = -p[num].x; p[num].y = -p[num].y; } p[num].rad = atan2(p[num].y, p[num].x); num++; } } sort(p, p + num); int L = 0, R = 0, cnt = 2; while (L < num) { if (L == R) { R = (R + 1) % num; cnt++; } while (L != R && check(p[L], p[R])) { R = (R + 1) % num; cnt++; } L++; cnt--; ans = max(ans, cnt); } } return ans;}int main() { std::ios::sync_with_stdio(false); while (cin >> n && n) { for (int i = 0; i < n; ++i) cin >> point[i].x >> point[i].y >> color[i]; cout << solve() << endl; } return 0;}/*30 0 00 1 02 2 140 0 00 4 04 0 01 2 17-1 0 01 2 12 3 02 1 10 3 11 4 0-1 2 00*/
阅读全文
0 0
- Amphiphilic Carbon Molecules UVA
- UVa UVA1606 Amphiphilic Carbon Molecules
- 两亲性分子(Amphiphilic Carbon Molecules,Uva 1606)
- UVA 1606(p238)----Amphiphilic Carbon Molecules
- UVa OJ 1606 - Amphiphilic Carbon Molecules
- uva1606 Amphiphilic Carbon Molecules
- Amphiphilic Carbon Molecules
- UVA1606 Amphiphilic Carbon Molecules
- 1606 - Amphiphilic Carbon Molecules
- POJ2280 Amphiphilic Carbon Molecules
- uva1606 Amphiphilic Carbon Molecules
- UVa 1606 Amphiphilic Carbon Molecules——极角扫描
- Shanghai 2004 ( UVALive 3259) Amphiphilic Carbon Molecules
- POJ 2280 && HDU 1661 Amphiphilic Carbon Molecules
- 【Jason's_ACM_解题报告】Amphiphilic Carbon Molecules
- uva 1606 amphiphilic carbon molecules【把缩写写出来,有惊喜】(滑动窗口)——yhx
- uva 1606 amphiphilic carbon molecules【把缩写写出来,有惊喜】(滑动窗口)——yhx
- POJ 2280 Amphiphilic Carbon Molecules 极角排序 + 扫描线
- hdu 2066 一个人的旅行(Dijkstra)
- 关于const
- Day23
- 两个网格的近似误差估计
- Pycharm使用xlwt时,报错的解决方法
- Amphiphilic Carbon Molecules UVA
- Gulp学习笔记
- Sticks Problem
- 解题报告:CROC 2016
- Day24
- Python记录记录(进程与线程多任务管理理论)
- text-align属性实际上是可以对内联元素的位置起作用
- Deal or No Deal? End-to-End Learning for Negotiation Dialogues学习笔记
- Map中key值问题