Ants (POJ#1852)

by TmskSt
♥0 | Line 17 | Modified 2012-03-05 21:46:16 | MIT License
play

ActionScript3 source code

/**
 * Copyright TmskSt ( http://wonderfl.net/user/TmskSt )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/8jYx
 */

package {
    /*
     * Ants (POJ#1852)
     * http://poj.org/problem?id=1852
     *
     *
     * 問題
     * 
     * 長さLcmの竿の上をn匹のアリが毎秒1cmのスピードで歩いています。
     * アリが竿の端に到達すると竿の下に落ちていきます。
     * また、竿の上は狭くてすれ違えないので、二匹のアリが出会うと、
     * それぞれ反対を向いて戻っていきます。各アリについて、現在の竿の左端からの距離xiは分かりますが、
     * どちらの方向を向いているのかは分かりません。すべてのアリが竿から落ちるまでにかかる
     * 最小の時間と最大の時間をそれぞれ求めなさい。
     *
     * 『プログラミングコンテストチャレンジブック 第2版』より引用
     */
    public class Ants extends Example {
        
        private static const L:int = 214;//10;
        private static const n:int = 7;//3;
        private var xi:Vector.<int> = new <int>[11,12,7,13,176,23,191];//[2, 6, 7];
        
        public function Ants() {
            
            var max:int, min:int, c:Number = L/2;
            var a:Vector.<int> = new Vector.<int>();
            
            for each(var i:int in xi) a.push(Math.abs(i - c));
            
            a.sort(Array.NUMERIC);
            
            
            min = c - a[0];
            max = a[n - 1] + c;
            
            trace("min=" + min + ", max=" + max);
        }
    }
    import com.actionscriptbible.Example;
}