flash on 2010-10-4

by uwi
♥0 | Line 49 | Modified 2010-10-04 06:22:31 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import com.bit101.components.*;
    import flash.system.*;
    import flash.net.*;
    import jp.progression.commands.net.*;

    public class CodeForcesTestsMaker extends Sprite {
        private var _tf : TextField;
        private var _ta : TextArea;

        public function CodeForcesTestsMaker() {
            _tf = new TextField();
            _tf.width = 465;
            _tf.height = 465;
            addChild(_tf);

            _ta = new TextArea(this, 0, 0);
            _ta.text = "lalal";
            
            Security.loadPolicyFile("http://5ivestar.org/proxy/crossdomain.xml");
            
            var round : String = "32";
            var q : String = "D";
            
            var lu : LoadURL = new LoadURL(new URLRequest(
                "http://5ivestar.org/proxy/" + 
                "http://codeforces.com/contest/" + round + "/problem/" + q
                ), {onComplete : function() : void {
                    var body : String = lu.data;
                    var sample : String = /<div class="sample-test">(.*)<br style="clear:both;"\/>/s.exec(body)[1];
                    var o : *;
                    var reInput : RegExp = /<div class="title">Input<\/div><pre class="content">(.*?)<\/pre>/sg;
                    var reOutput : RegExp = /<div class="title">Output<\/div><pre class="content">(.*?)<\/pre>/sg
                    
                    var inputs : Array = [];
                    var outputs : Array = [];
                    while(o = reInput.exec(sample))inputs.push(o[1].replace(/<br \/>/g, "\n"));
                    while(o = reOutput.exec(sample))outputs.push(o[1].replace(/<br \/>/g, "\n"));
                    for(var i : uint = 0;i < inputs.length;i++){
                        _ta.text += inputs[i] + "\t" + outputs[i] + "\n";
                    }

                    
                }, catchError : function(target:Object, error:Error):void {
                    _ta.text = error.message;
                    target.executeComplete();
                }}
                );
                lu.execute();
        }

        private function tr(...o : Array) : void
        {
            _tf.appendText(o + "\n");
        }
    }
}