青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品



May the force be with you!
posts - 52,  comments - 33,  trackbacks - 0
總算過了這個題了。。。。。。
教訓:
    1。對于qsort的cmp函數的寫法要養成好習慣,最好要這么寫:
      
 1 int cmp ( const void * a, const void * b)
 2 {
 3     double ss = (*(point *)a).s -(*(point *)b).s;
 4     if (ss > 0 ) return 1;
 5     if (ss < 0 ) return -1;
 6     if (ss==0)
 7     {
 8         double pp=(*(point *)a).e -(*(point *)b).e;
 9         if (pp > 0return 1;
10         if (pp < 0return -1;
11     }
12 }

    否則,如果直接return (*(point *)a).s -(*(point *)b).s;的話,對于一般的int型沒什么問題,但是對于浮點數就會出現精度問題了,比如return -0.3就會變成return 0
   
    2。區間合并的時候要注意上限要不斷調整。。。

                                                                   simbaforrest
                                                                   2007/12/27
以下是Wrong Answer代碼
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 #include <math.h>
 5 const int maxn = 1010;
 6 int n,d,ans;
 7 typedef struct
 8 {
 9     int x,y;
10     double s,e;
11 }point;
12 point island[maxn];
13 
14 int cmp(const void *a, const void *b)
15 {
16     point *= (point *)a;
17     point *= (point *)b;
18     if(c->!= d->s)
19         return c->- d->s;
20     else
21         return c->- d->e;
22 }
23 
24 inline double dist(point a)
25 {
26     return sqrt( d*- a.y*a.y );
27 }
28 
29 void solve()
30 {
31     for(int i=0; i<n; i++)
32     {
33         double l = dist(island[i]);
34         island[i].s = (island[i].x - l);
35         island[i].e = (island[i].x + l);
36         
37     }
38     qsort(island,n,sizeof(point),cmp);
39     
40     ans = 1;
41     double uplimit = island[0].e;
42     for(int i=1; i<n; i++)
43     {
44         //printf("x=%d , y=%d\n",island[i].x,island[i].y);
45         //printf("s=%lf , e=%lf\n",island[i].s,island[i].e);
46         if(island[i].s - uplimit > 1e-3)
47         {
48             ans++;
49             uplimit = island[i].e;      //就是這里了,錯在沒有對其它的情況更新uplimit
50         }
51     }
52 }
53 
54 int main()
55 {
56     int t=1;
57     while(scanf("%d%d",&n,&d),n&&d)
58     {
59         bool noans = 0;
60         for(int i=0; i<n; i++)
61         {
62             scanf("%d%d",&island[i].x,&island[i].y);
63             if(island[i].y>d)
64                 noans = 1;
65         }
66         if(!noans)
67             solve();
68         else
69             ans = -1;
70         printf("Case %d: %d\n",t++,ans);
71     }
72     return 0;
73 }
74 

以下是AC代碼
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 #include <math.h>
 5 typedef struct
 6 {
 7   double s,e;
 8 }point;
 9 point island[1010];
10 int n,d,ans;
11 double me;
12 
13 int cmp ( const void * a, const void * b)
14 {
15     double ss = (*(point *)a).s -(*(point *)b).s;
16   if (ss > 0 ) return 1;
17     if (ss < 0 ) return -1;
18     if (ss==0)
19   {
20         double pp=(*(point *)a).e -(*(point *)b).e;
21         if (pp > 0return 1;
22         if (pp < 0return -1;
23     }
24 }
25 
26 void solve()
27 {
28   qsort(island,n,sizeof(island[0]),cmp);
29   ans = 1;
30   me = island[0].e;
31   for(int i=1; i<n; i++)
32   {
33     if(island[i].s > me)
34     {
35       me = island[i].e;
36       ans++;
37     }
38     else
39     {
40       if(island[i].e < me)
41       {
42         me = island[i].e;
43       }
44     }
45   }
46 }
47 
48 int main()
49 {
50   int t=1;
51   while(scanf("%d%d",&n,&d),(n!=0)||(d!=0))
52   {
53     bool noans = 0;
54     for(int i=0; i<n; i++)
55     {
56       int x,y;
57       scanf("%d%d",&x,&y);
58       if(y>|| noans == 1)
59       {
60         noans = 1;
61       }
62       else
63       {
64         double l = sqrt( (double)(d*- y*y) );
65         island[i].s = (double)x-l;
66         island[i].e = (double)x+l;
67       }
68     }
69     if(noans==1)
70     {
71       ans = -1;
72       printf("Case %d: %d\n",t++,ans);
73     }
74     else
75     {
76       solve();
77       printf("Case %d: %d\n",t++,ans);
78     }
79   }
80   return 0;
81 }
82 


posted on 2007-12-27 15:16 R2 閱讀(1310) 評論(1)  編輯 收藏 引用 所屬分類: Problem Solving

FeedBack:
# re: ACM@PKU——1328(貪心+排序)
2007-12-27 17:50 | winsty
為什么不用STL的sort?  回復  更多評論
  
你是第 free hit counter 位訪客




<2007年11月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

常用鏈接

留言簿(4)

隨筆分類(54)

隨筆檔案(52)

文章檔案(1)

ACM/ICPC

技術綜合

最新隨筆

搜索

  •  

積分與排名

  • 積分 - 64560
  • 排名 - 357

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产一区二区三区久久久| 1769国内精品视频在线播放| 亚洲国产精品嫩草影院| 久久最新视频| 久久久久这里只有精品| 玖玖视频精品| 亚洲国产日韩美| 99热精品在线| 亚洲女同同性videoxma| 欧美一区激情| 久久综合中文| 欧美日韩亚洲国产精品| 国产精品日韩欧美| 经典三级久久| 一区二区三区久久精品| 亚洲综合日韩在线| 久久久欧美精品sm网站| 亚洲国产经典视频| 亚洲香蕉网站| 模特精品在线| 国产欧美日韩一区二区三区| 黄色成人片子| 在线亚洲伦理| 亚洲欧美成人综合| 免费不卡在线观看av| 欧美日韩另类在线| 国产综合av| 亚洲视频一区二区| 欧美成人精品不卡视频在线观看| 日韩系列在线| 久久福利视频导航| 欧美片第一页| 在线精品视频一区二区| 亚洲网友自拍| 欧美激情一区二区| 亚洲欧美日韩在线不卡| 欧美—级高清免费播放| 国外精品视频| 午夜在线观看免费一区| 亚洲人体影院| 欧美高清成人| 亚洲伊人网站| 欧美精品在线免费观看| 曰本成人黄色| 久久精品99国产精品日本| 夜夜嗨av一区二区三区免费区| 久久av一区| 99视频一区| 欧美日韩不卡一区| 91久久综合| 亚洲电影在线看| 久久在线视频| 在线观看成人av电影| 久久久精品动漫| 午夜日韩视频| 国产欧美一区二区精品婷婷| 亚洲一区不卡| 欧美一区二区三区的| 99精品免费视频| 欧美肉体xxxx裸体137大胆| 亚洲九九九在线观看| 欧美护士18xxxxhd| 欧美激情第1页| 一区二区三区四区国产| 亚洲美女在线视频| 欧美网站在线| 午夜综合激情| 性做久久久久久| 国产有码一区二区| 美日韩精品视频| 欧美电影免费观看大全| 99精品国产热久久91蜜凸| 日韩午夜av| 国产区欧美区日韩区| 玖玖在线精品| 欧美电影免费观看高清| 亚洲婷婷免费| 欧美在线观看一区二区| 亚洲高清视频的网址| 91久久久久久久久| 国产伦精品一区二区三区视频孕妇| 亚洲高清一区二| 亚洲高清资源| 国产精品毛片a∨一区二区三区|国 | 最新国产成人av网站网址麻豆| 免费在线观看成人av| 日韩视频在线一区二区| 一卡二卡3卡四卡高清精品视频| 国产喷白浆一区二区三区| 欧美国产精品| 国产精品三级视频| 欧美激情二区三区| 国产精品天天看| 欧美激情一区二区三区蜜桃视频 | 欧美精品v国产精品v日韩精品| 亚洲天堂av图片| 久久99伊人| 国产精品99久久久久久有的能看 | 亚洲日本成人| 国产精品99久久久久久人 | 久久久噜久噜久久综合| 亚洲肉体裸体xxxx137| 在线亚洲+欧美+日本专区| 国产亚洲毛片在线| 亚洲人成精品久久久久| 国产一区二区0| 亚洲免费激情| 亚洲黄色av| 欧美一区免费| 亚洲综合99| 欧美大片国产精品| 久久久久久久成人| 国产精品国产三级国产专播品爱网 | 久久在精品线影院精品国产| 欧美精品www在线观看| 久久影院午夜论| 国产精品网站一区| 日韩视频一区二区三区| 亚洲国产精品123| 久久精品人人| 久久精品男女| 国产伦精品一区二区三区| 一区二区精品在线观看| 日韩视频―中文字幕| 蜜臀久久99精品久久久画质超高清| 久久国产精品99国产精| 国产精品精品视频| 亚洲永久网站| 欧美有码视频| 国产亚洲欧美在线| 欧美伊人久久久久久午夜久久久久 | 亚洲综合日本| 欧美四级在线观看| 亚洲欧洲精品一区二区精品久久久| 亚洲成在线观看| 美日韩精品免费观看视频| 欧美mv日韩mv国产网站| 亚洲高清一二三区| 免费一级欧美在线大片| 欧美激情精品久久久久久免费印度 | 最新日韩欧美| 99成人精品| 欧美高清成人| 亚洲欧洲一区二区三区| 亚洲伦理在线| 欧美日韩亚洲视频一区| 一本色道久久综合亚洲精品按摩 | 麻豆精品精华液| 欧美成人第一页| 亚洲国产精品视频一区| 美女国产精品| 亚洲精品男同| 小辣椒精品导航| 黄色一区二区在线| 欧美成人按摩| 亚洲一区二区三区在线观看视频| 久久福利资源站| 亚洲风情亚aⅴ在线发布| 欧美成人免费在线观看| 夜夜嗨一区二区三区| 欧美一区日韩一区| 欲香欲色天天天综合和网| 欧美激情亚洲激情| 亚洲综合三区| 亚洲第一主播视频| 午夜一区在线| 亚洲精品视频在线播放| 国产精品美女久久| 久久综合网络一区二区| 在线亚洲自拍| 欧美大胆成人| 欧美伊人久久| 亚洲精品一区二区三区婷婷月| 欧美午夜在线| 狂野欧美激情性xxxx欧美| 亚洲理论在线| 久久精品欧美日韩| 一区二区三区四区国产| 国产在线欧美| 欧美视频一区在线| 欧美成人一区二区| 欧美在线视频免费播放| 一区二区高清| 亚洲美女av网站| 亚洲国产精品视频一区| 久久久噜噜噜| 欧美一二三视频| 亚洲调教视频在线观看| 亚洲精品一区在线观看| 国产一区二区主播在线| 欧美日韩综合网| 欧美精选在线| 久久综合中文色婷婷| 欧美一二三区在线观看| 一本色道久久综合亚洲精品按摩| 欧美不卡在线视频| 久久综合九色欧美综合狠狠| 午夜精品视频| 香港成人在线视频| 亚洲影院免费|