zoukankan      html  css  js  c++  java
  • POJ 1244 Slots of Fun(计算几何)

    题目链接

    很简单的一题,数据 很小,直接暴力的。但是也是写也好久,有几个数,没算好。。。一次CE,一次PE,3Y。

     1 #include <iostream>
     2 #include <cstring>
     3 #include <cstdio>
     4 #include <cstdlib>
     5 #include <cmath>
     6 using namespace std;
     7 #define eps 1e-8
     8 #define zero(x) (((x) > 0?(x):-(x))<eps)
     9 int o[200];
    10 struct point
    11 {
    12     double x,y;
    13 } p[1001];
    14 double dis(point p1,point p2)
    15 {
    16     return (p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y);
    17 }
    18 int judge(int i,int j,int k)
    19 {
    20     if(zero(dis(p[i],p[j])-dis(p[j],p[k]))&&zero(dis(p[i],p[j])-dis(p[i],p[k])))
    21     return 1;
    22     else
    23     return 0;
    24 }
    25 char str[1001];
    26 int main()
    27 {
    28     int n,i,j,k,num = 1,len,flag;
    29     double d;
    30     p[0].x = 0;
    31     p[0].y = 0;
    32     for(i = 2; i <= 12; i ++)
    33     {
    34         d = (i-1)*1.0*sqrt(3.0)*2.0/3.0/(i-1);
    35         p[num].x = -(i-1)*1.0*sqrt(3.0)/3.0;
    36         p[num].y = i-1;
    37         num ++;
    38         for(j = 1; j < i; j ++)
    39         {
    40             p[num].x = p[num-1].x + d;
    41             p[num].y = i-1;
    42             num ++;
    43         }
    44     }
    45     while(scanf("%d",&n)!=EOF)
    46     {
    47         if(n == 0) break;
    48         memset(o,0,sizeof(o));
    49         scanf("%s",str);
    50         len = strlen(str);
    51         flag = 0;
    52         for(i = 0; i < len; i ++)
    53         {
    54             for(j = i+1; j < len; j ++)
    55             {
    56                 if(str[i] == str[j])
    57                     for(k = j+1; k < len; k ++)
    58                     {
    59                         if(str[j] == str[k])
    60                         {
    61                             if(judge(i,j,k))
    62                             {
    63                                 flag = 1;
    64                                 o[str[i]+0] ++;
    65                             }
    66                         }
    67                     }
    68             }
    69         }
    70         if(!flag) 
    71         {
    72             printf("LOOOOOOOOSER!
    ");
    73             continue;
    74         }
    75         for(i = 0;i <= 128;i ++)
    76         {
    77             if(o[i])
    78             {
    79                 for(j = 1;j <= o[i];j ++)
    80                 printf("%c",i);
    81             }
    82         }
    83         printf("
    ");
    84     }
    85     return 0;
    86 }
  • 相关阅读:
    站立会议02(冲刺2)
    站立会议01(冲刺2)
    测试计划
    cnblogs.com用户体验
    对其他组所提建议的回复(第一阶段)
    对各个小组的评论和一些建议
    团队会议第十天
    团队绩效评估规划
    团队会议第九天
    每日scrum(1)
  • 原文地址:https://www.cnblogs.com/naix-x/p/3368743.html
Copyright © 2011-2022 走看看