亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 4608 | 回復: 12
打印 上一主題 下一主題

[其他] 。。。。。。。。。。 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-01-11 18:01 |只看該作者 |倒序瀏覽
本帖最后由 ArchieYao 于 2017-10-21 15:14 編輯

。。。。。。。。。。。。。。

評分

參與人數(shù) 1可用積分 +3 收起 理由
寂寞烈火 + 3 精品文章

查看全部評分

論壇徽章:
0
2 [報告]
發(fā)表于 2008-01-12 16:06 |只看該作者
樓主真是強人啊,剛學就...

太慚愧了!呵呵

論壇徽章:
1
榮譽版主
日期:2011-11-23 16:44:17
3 [報告]
發(fā)表于 2008-01-12 19:59 |只看該作者
強!
佩服~~~

論壇徽章:
1
榮譽會員
日期:2011-11-23 16:44:17
4 [報告]
發(fā)表于 2008-01-12 22:46 |只看該作者
學習, 送分鼓勵~~

論壇徽章:
0
5 [報告]
發(fā)表于 2008-01-12 23:48 |只看該作者
謝謝老大

論壇徽章:
0
6 [報告]
發(fā)表于 2008-01-13 00:44 |只看該作者
我昨晚剛手動推算這個問題了
今天就看到有人寫代碼,真是佩服
頂了

論壇徽章:
0
7 [報告]
發(fā)表于 2008-01-13 17:08 |只看該作者
我是一個只學了shell皮毛的人……看到這個代碼慚愧啊……~!

論壇徽章:
0
8 [報告]
發(fā)表于 2008-01-18 13:26 |只看該作者
樓主很強,我也坐了一下那個題,出結果用了14秒多沒有樓主的快,貼上來湊熱鬧。

  1. #!/bin/bash
  2. # x0 country: [0]English    [1]Sweden        [2]Denmark       [3]Norway        [4]German
  3. # x1 color:   [0]red        [1]green         [2]white         [3]yellow        [4]blue
  4. # x2 drink:   [0]tea        [1]coffee        [2]milk          [3]beer          [4]water
  5. # x3 smoke:   [0]pallmall   [1]dunhill       [2]blends        [3]prince        [4]blueMaster
  6. # x4 pet:     [0]dog        [1]bird          [2]cat           [3]horse         [4]fish
  7. #---------------------------------#
  8. # 假設所有條件代碼如上.房子的順序為(1,2,3,4,5)
  9. # 問題分析 ,根據排列組合公式推算 本題的可能性為 (5*4*3*2*1)^5 = 120^5 = 24883200000
  10. # 其中隱含的第六個條件為房子的順序 我們假設為 1 2 3 4 5 故不參與排列。
  11. # 在n中選出m個出來排列 n*(n-1)*....(n-m+1)
  12. # 在n中選出m個出來組合 n*(n-1)*....(n-m+1)/(1*2*3*....m)
  13. # 如果全部過濾的可能性不大,根據條件逐次過濾。
  14. # Variables and Function definition
  15. country=(english sweden  denmark norway  german  );
  16. color=(  red     green   white   yellow  blue    );
  17. drink=(  tea     coffee  milk    beer    water   );
  18. smoke=(  palmall dunhill blends  prince  bluemaster);
  19. pet=(    dog     bird    cat     horse   fish    );
  20. function arrange {
  21.   echo {0..4},{0..4},{0..4},{0..4},{0..4}|tr ' ' '\n'|sed -e '/.*\([0-9]\).*\1.*/d'
  22. }
  23. function judge {
  24.   for i in $(seq 0 4);do
  25.   if (( ${_TMP[$i]} == $1 ));then
  26.   _N=$i; break 1
  27.   fi
  28.   done
  29. }
  30. function delidding {
  31.   echo '#--------------------------------------------#'
  32.   echo -n -e "house1\thouse2\thouse3\thouse4\thouse5\n\n"
  33.   x7=($(echo ${_TMP0[@]} ${_TMP1[@]} ${_TMP2[@]} ${_TMP3[@]} ${_TMP4[@]}))
  34.   for i in $(seq 0 24);do
  35.      if (( $i \<5 ));then
  36.         A=${x7[$i]};echo -n -e ${country[$A]}"\t"
  37.    elif (( $i \<10 ));then
  38.         (( $i == 5 )) && echo -e "\n"
  39.         A=${x7[$i]};echo -n -e ${color[$A]}"\t"
  40.    elif (( $i \<15 ));then
  41.         (( $i == 10 )) && echo -e "\n"
  42.         A=${x7[$i]};echo -n -e ${drink[$A]}"\t"
  43.    elif (( $i \<20 ));then
  44.         (( $i == 15 )) && echo -e "\n"
  45.         A=${x7[$i]};echo -n -e ${smoke[$A]}"\t"
  46.    elif (( $i \<25 ));then
  47.         (( $i == 20 )) && echo -e "\n"
  48.         A=${x7[$i]};echo -n -e ${pet[$A]}"\t"
  49.      fi
  50.   done
  51.   echo -e "\n"'#--------------------------------------------#'
  52. }
  53. # Program main
  54. for x0 in $(arrange);do
  55. _TMP0=($(echo ${x0}|tr ',' ' '))
  56. (( ${_TMP0[0]} != 3 )) && continue 1 # 威人住第一間房子

  57.   for x1 in $(arrange);do
  58.     _TMP1=($(echo ${x1}|tr ',' ' '))
  59.     _TMP=(${_TMP1[@]})
  60.     (( ${_TMP1[1]} != 4 )) && continue 1 # 挪威人住藍色房子隔壁
  61.     judge 0;(( ${_TMP0[$_N]} != 0 )) && continue 1 # 英國人住紅色房子
  62.     judge 1;_G=$_N;judge 2;_W=_N
  63. #    (( $_G > $_W )) && continue 1 # 綠色房子在白色房子左面,這里有兩種不同的理解,綠白是否相鄰,如果不相鄰用這句。
  64.     (( $_W != $[$_G+1] )) && continue 1 # 綠色房子在白色房子左面 如果相鄰用這句,不相鄰的結果不唯一,有3種可能,這里假設相鄰。

  65.     for x2 in $(arrange);do
  66.       _TMP2=($(echo ${x2}|tr ',' ' '))
  67.       _TMP=(${_TMP2[@]})
  68.       (( ${_TMP2[2]} != 2 )) && continue 1 # 住在中間房子的人喝牛奶
  69.       judge 0;(( ${_TMP0[$_N]} != 2 )) && continue 1 # 丹麥人喝茶
  70.       judge 1;(( ${_TMP1[$_N]} != 1 )) && continue 1 # 綠色房子主人喝咖啡

  71.       for x3 in $(arrange);do
  72.         _TMP3=($(echo ${x3}|tr ',' ' '))
  73.         _TMP=(${_TMP3[@]})
  74.         judge 3;(( ${_TMP0[$_N]} != 4 )) && continue 1 # 德國人抽prince香煙
  75.         judge 1;(( ${_TMP1[$_N]} != 3 )) && continue 1 # 黃色房子主人抽Dunhill
  76.         judge 4;(( ${_TMP2[$_N]} != 3 )) && continue 1 # 抽BlueMaster的人喝啤酒
  77.         judge 2;if (( $_N \< 4 )) && (( ${_TMP2[$[$_N+1]]} == 4 ));then : # 抽Blends香煙人的有一個喝水的鄰居
  78.               elif (( $_N \> 0 )) && (( ${_TMP2[$[$_N-1]]} == 4 ));then :
  79.               else continue 1
  80.                 fi

  81.         for x4 in $(arrange);do
  82.           _TMP4=($(echo ${x4}|tr ',' ' '))
  83.           _TMP=(${_TMP4[@]})
  84.           judge 0;(( ${_TMP0[$_N]} != 1 )) && continue 1 # 瑞典人養(yǎng)狗
  85.           judge 1;(( ${_TMP3[$_N]} != 0 )) && continue 1 # 抽PallMall香煙的人養(yǎng)鳥
  86.           judge 2;if (( $_N \< 4 )) && (( ${_TMP3[$[$_N+1]]} == 2 ));then : # 抽Blends香煙的人住在養(yǎng)貓人的隔壁
  87.                 elif (( $_N \> 0 )) && (( ${_TMP3[$[$_N-1]]} == 2 ));then :
  88.                 else continue 1
  89.                   fi
  90.           judge 3;if (( $_N \< 4 )) && (( ${_TMP3[$[$_N+1]]} == 1 ));then : # 養(yǎng)馬的人住在抽Dunhil香煙人的隔壁
  91.                 elif (( $_N \> 0 )) && (( ${_TMP3[$[$_N-1]]} == 1 ));then :
  92.                 else continue 1
  93.                   fi
  94.           delidding
  95.         done

  96.       done

  97.     done

  98.   done

  99. done
復制代碼


  1. [13:08 root@ xinyv]# time ./a.sh
  2. #--------------------------------------------#
  3. house1  house2  house3  house4  house5

  4. norway  denmark english german  sweden

  5. yellow  blue    red     green   white

  6. water   tea     milk    coffee  beer

  7. dunhill blends  palmall prince  bluemaster

  8. cat     horse   bird    fish    dog
  9. #--------------------------------------------#

  10. real    0m14.219s
  11. user    0m7.521s
  12. sys     0m6.889s
復制代碼

[ 本帖最后由 xinyv 于 2008-1-18 13:48 編輯 ]

論壇徽章:
0
9 [報告]
發(fā)表于 2008-01-18 13:57 |只看該作者
學習了,真是牛

論壇徽章:
0
10 [報告]
發(fā)表于 2008-01-18 16:26 |只看該作者
看了幾次沒有看完
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP