POJ 1244 Slots of Fun(计算几何)
2013-10-14 17:09
288 查看
题目链接
很简单的一题,数据 很小,直接暴力的。但是也是写也好久,有几个数,没算好。。。一次CE,一次PE,3Y。
很简单的一题,数据 很小,直接暴力的。但是也是写也好久,有几个数,没算好。。。一次CE,一次PE,3Y。
#include <iostream> #include <cstring> #include <cstdio> #include <cstdlib> #include <cmath> using namespace std; #define eps 1e-8 #define zero(x) (((x) > 0?(x):-(x))<eps) int o[200]; struct point { double x,y; } p[1001]; double dis(point p1,point p2) { return (p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y); } int judge(int i,int j,int k) { if(zero(dis(p[i],p[j])-dis(p[j],p[k]))&&zero(dis(p[i],p[j])-dis(p[i],p[k]))) return 1; else return 0; } char str[1001]; int main() { int n,i,j,k,num = 1,len,flag; double d; p[0].x = 0; p[0].y = 0; for(i = 2; i <= 12; i ++) { d = (i-1)*1.0*sqrt(3.0)*2.0/3.0/(i-1); p[num].x = -(i-1)*1.0*sqrt(3.0)/3.0; p[num].y = i-1; num ++; for(j = 1; j < i; j ++) { p[num].x = p[num-1].x + d; p[num].y = i-1; num ++; } } while(scanf("%d",&n)!=EOF) { if(n == 0) break; memset(o,0,sizeof(o)); scanf("%s",str); len = strlen(str); flag = 0; for(i = 0; i < len; i ++) { for(j = i+1; j < len; j ++) { if(str[i] == str[j]) for(k = j+1; k < len; k ++) { if(str[j] == str[k]) { if(judge(i,j,k)) { flag = 1; o[str[i]+0] ++; } } } } } if(!flag) { printf("LOOOOOOOOSER!\n"); continue; } for(i = 0;i <= 128;i ++) { if(o[i]) { for(j = 1;j <= o[i];j ++) printf("%c",i); } } printf("\n"); } return 0; }
相关文章推荐
- POJ 1244 Slots of Fun
- ZOJ 1504 Slots of Fun(POJ 1244)
- poj 2074 Line of Sight (计算几何,细节题)
- POJ 2526 Center of symmetry(计算几何--对称点)
- POJ 2242 The Circumference of the Circle (计算几何)
- poj 2074 Line of Sight(计算几何)
- ZOJ 1504(POJ 1244) Slots of Fun…
- poj 2704 Line of Sight(数学型计算几何)
- poj 1090:The Circumference of the Circle(计算几何,求三角形外心)
- POJ 2074 Line of Sight 计算几何
- POJ 计算几何入门题目推荐
- POJ 1434 Fill the Cisterns!(计算几何,二分)
- POJ 1039 Pipe (计算几何)
- [计算几何] POJ 1873 暴力+凸包
- 【POJ】2318 TOYS(计算几何基础+暴力)
- poj 3336 计算几何 + bfs
- poj 2318 TOYS(计算几何)
- POJ 3304 计算几何 直线与线段相交
- [ZOJ 1504] Slots of Fun
- POJ1066——计算几何