• <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>

            Why so serious? --[NKU]schindlerlee

            pku3744

            schindlerlee原創(chuàng),禁止轉(zhuǎn)載和用于商業(yè)用途
            剛比賽完,先貼代碼
              1 /* 
              2  * SOUR:pku 3744
              3  * ALGO:compulicted
              4  * DATE: 2009年 08月 23日 星期日 12:37:44 CST
              5  * COMM:3
              6  * */
              7 #include<iostream>
              8 #include<cstdio>
              9 #include<cstdlib>
             10 #include<cstring>
             11 #include<algorithm>
             12 using namespace std;
             13 #define inf 0x7fffffff
             14 #define debug 1
             15 double p;
             16 int mine[26], n;
             17 
             18 struct M {
             19     double v11, v12, v21, v22;
             20     M operator*( M b)
             21     {
             22         M c;
             23         c.v11 = v11 * b.v11 + v12 * b.v21;
             24         c.v12 = v11 * b.v12 + v12 * b.v22;
             25         c.v21 = v21 * b.v11 + v22 * b.v21;
             26         c.v22 = v21 * b.v12 + v22 * b.v22;
             27         return c;
             28     }
             29 
             30     M operator*double c)
             31     {
             32         v11 *= c, v12 *= c;
             33         v21 *= c, v22 *= c;
             34         return *this;
             35     }
             36 } unit,self;
             37 
             38 
             39 M f(int t)
             40 {
             41     if (t == 0) {
             42         M a;
             43         a.v11 = 1, a.v12 = 0;
             44         a.v21 = 0, a.v22 = 1;
             45         return a;
             46     }
             47     if (t == 1) {
             48         return unit;
             49     }
             50     if (t % 2 == 0) {
             51         M tmp = f(t / 2);
             52         return tmp * tmp;
             53     }
             54     M tmp = f(t / 2);
             55     return tmp * tmp * unit;
             56 }
             57 
             58 /*
             59  f(n)      { p ,1-p }    f(n-1)   
             60  f(n-1) =  { 1 , 0  } *  f(n-2)
             61  * */
             62 int main()
             63 {
             64     int i, j;
             65     while (scanf("%d %lf"&n, &p) == 2) {
             66         unit.v11 = p, unit.v12 = 1 - p;
             67         unit.v21 = 1, unit.v22 = 0;
             68 
             69         self.v11 = 1, self.v12 = 0;
             70         self.v21 = 0, self.v22 = 1;
             71 
             72         bool flag = false;
             73         for (i = 0; i < n; i++) {
             74             scanf("%d", mine + i);
             75         }
             76         sort(mine, mine + n);
             77         n = unique(mine, mine + n) - mine;
             78         for (i = 1; i < n; i++) {
             79             if (mine[i] - mine[i - 1== 1) {
             80                 flag = true;
             81                 break;
             82             }
             83         }
             84         if (flag || mine[0== 1) {
             85             printf("%.7f\n"0.0);
             86             continue;
             87         }
             88         int t = 1;
             89         M res = self, tmp;
             90         for (i = 0; i < n; i++) {
             91             tmp = f(mine[i] - 1 - t);
             92             t = mine[i] + 1;
             93             res = res * tmp * (1 - p);
             94             res.v12 = 0//跳地雷
             95         }
             96         if(res.v11 <= 0) {
             97             printf("%.7f\n"0.0);
             98         }else {
             99             printf("%.7f\n", res.v11);
            100         }
            101     }
            102     return 0;
            103 }
            104 

            posted on 2009-08-23 18:50 schindlerlee 閱讀(1296) 評論(0)  編輯 收藏 引用 所屬分類: 解題報(bào)告

            99久久精品久久久久久清纯| 狠狠色狠狠色综合久久| 国产成人精品久久一区二区三区av | 狠狠色丁香久久婷婷综| 久久免费精品一区二区| 日本高清无卡码一区二区久久| 亚洲乱码中文字幕久久孕妇黑人| 久久久精品2019免费观看| 国产激情久久久久影院老熟女| 久久99国产精品久久99小说| 日本精品久久久中文字幕| 久久午夜夜伦鲁鲁片免费无码影视 | 一本一道久久a久久精品综合| 日产精品久久久久久久| 老司机午夜网站国内精品久久久久久久久 | 国产成人精品三上悠亚久久 | 久久婷婷色香五月综合激情| 69久久精品无码一区二区| 久久亚洲国产精品成人AV秋霞| 国产成人精品久久综合| 久久超碰97人人做人人爱| 久久国产亚洲精品| 久久久久无码精品国产app| 国产精品久久亚洲不卡动漫| 久久人人爽人人爽人人片AV不| 久久这里都是精品| 久久乐国产精品亚洲综合| 青青草原综合久久| 久久中文字幕一区二区| 波多野结衣中文字幕久久| 伊人久久大香线蕉av一区| 久久精品国产99久久久古代 | 9久久9久久精品| 久久久久久毛片免费播放| 人妻无码αv中文字幕久久琪琪布 人妻无码久久一区二区三区免费 人妻无码中文久久久久专区 | 三级三级久久三级久久| 欧美粉嫩小泬久久久久久久| 开心久久婷婷综合中文字幕| 欧美午夜A∨大片久久| 亚洲一区精品伊人久久伊人| 要久久爱在线免费观看|