時刻に伴う移動

paizaのレベルアップ問題「時刻に伴う移動」 もといてみちゃった^-^*
わりとみじかいコードでできたかな~(〃⌒ー⌒〃)ゞ エヘヘ
my %reldirec = (
    'L' => 3,
    'R' => 1
);

my @mvcord = (
    [-1,  0],
    [ 0,  1],
    [ 1,  0],
    [ 0, -1]
);

my $input_line = <STDIN>;
chomp $input_line;
my ($H, $W, $sy, $sx, $N) = split(/ /, $input_line);

my @field = ();

for (my $a = 0; $a < $H; ++$a) {
    $input_line = <STDIN>;
    chomp $input_line;
    push(@field,[split(//, $input_line)]);
}

my $event_count = 0;
my @event_list = ();
for (my $c = 0; $c < $N; ++$c) {
    $input_line = <STDIN>;
    chomp $input_line;
    push(@event_list, [split(/ /, $input_line)]);
}
push(@event_list, ['Inf', '']);

$field[$sy][$sx] = '*';

my $di = 0;

for (my $g_time = 0; $g_time <= 99; ++$g_time) {
    my $od = $di;
    if ($g_time == $event_list[$event_count][0]) {
        $od = ($od + $reldirec{$event_list[$event_count][1]}) % 4;
        ++$event_count;
    }
    my $stop = 0;
    my $oy = $sy + $mvcord[$od][0];
    my $ox = $sx + $mvcord[$od][1];
    if(
        $oy >= 0 && $oy < $H &&
        $ox >= 0 && $ox < $W &&
        $field[$oy][$ox] ne '#'
    ){
        $di = $od;
        $sy = $oy;
        $sx = $ox;
        $field[$sy][$sx] = '*';
    } else {
        $stop = 1;
    }
    if ($stop) {
        print "Stop";
        last;
    } else {
        print $sy.' '.$sx."\n";
    }
}

(補足:文字列の'Inf'は数値で評価すると無限大と扱われる)

いつかAランクをゆめみて・・

Aランクレベルアップをめざしてといたれんしゅ~もんだい「陣取りゲーム」

陣取りゲーム結果 3じかんくらいふんと~しながらやっととけました~!

どうすれば効率よくとけるか・・ターンごとに全マスチェックしていたのでは時間がかかりすぎるよね・・・なるべく手間を減らすには・・・??とかんがえてたらいいほうほうをひらめいちゃいました^-^*

んがっ、それをコードにするのにずいぶんくろ~しちゃった・・w

というわけできき☆彡の解答~^-^*

my %pid = ('A' => 0, 'B' => 1);
my @pname = ('A', 'B');
my @cord = ([-1, 0], [0, 1], [0, -1], [1, 0]);

my $input_line = <STDIN>;
chomp $input_line;
my ($H, $W) = split(/ /,$input_line);
my $N = <STDIN>;
chomp $N;

# フィールドの初期状態
my @field = ();
my @new_territory = ([], []);
my @score = (0, 0);
for(my $a = 0; $a < $H; ++$a){
    $input_line = <STDIN>;
    chomp $input_line;
    push(@field,[split(//, $input_line)]);
    for(my $b = 0; $b < $W; ++$b) {
        if (defined($pid{$field[$a][$b]})) {
            push(@{$new_territory[ $pid{$field[$a][$b]} ]}, [$a, $b]);
            ++$score[$pid{$field[$a][$b]}];
        }
    }
}

my $flg = 1;
my $turn = $pid{$N};
my $pass = 0;
#ゲーム開始!
while($flg) {
    $flg = 0;
    my $painted = [];
    foreach $pick (@{$new_territory[$turn]}) {
        for(my $a = 0; $a < 4; ++$a) {
            my $ny = $$pick[0] + $cord[$a][0];
            my $nx = $$pick[1] + $cord[$a][1];
            if (
                $ny >= 0 && $ny < $H &&
                $nx >= 0 && $nx < $W &&
                $field[$ny][$nx] eq '.'
            ) {
                # 侵略!<s>イカ娘</s>
                $field[$ny][$nx] = $pname[$turn];
                ++$score[$turn];
                push(@$painted, [$ny, $nx]);
                $flg = 1;
            }
        }
    }
    $new_territory[$turn] = $painted;
    if ($flg) {
        $pass = 0;
    }
    # 連続パス
    if (!$flg && !$pass) {
        $pass = 1;
        $flg = 1;
    }
    $turn = 1 - $turn;
}

#けっかはっぴょ~♪
print join(' ',@score)."\n";
print $score[0] > $score[1] ? "A\n" : "B\n";

座標系での規則的な移動

paizaのAランクレベルアップ問題「座標系での規則的な移動」
けっこ~コードをかんがえるのがむずかしかったぁ~・・

1つもifやループをつかわずにけ~さんだけでできたぞぉo(*^▽^*)o~♪

checkIOってサイトでやったSquare Spiralってもんだいににてますd(^-^)ネ!

my @cordb = (
    [-1, 1], [1, 1], [1, -1], [-1, 1]
);
my @direc = (
    [ 1, 0], [0, -1], [-1, 0], [0, 1]
);

my $input_line = ;
chomp $input_line;
my ($x, $y, $N) = split(/ /, $input_line);
$circuit = int((sqrt($N) + 1) / 2);

$pos_of_c = $N - ($circuit * 2 - 1) ** 2;
$pos_of_d = int($pos_of_c / ($circuit * 2));
$pos_of_e = $pos_of_c % ($circuit * 2);

$oy = $y + $cordb[$pos_of_d][0] * $circuit + $direc[$pos_of_d][0] * ($pos_of_e + 1);
$ox = $x + $cordb[$pos_of_d][1] * $circuit + $direc[$pos_of_d][1] * ($pos_of_e + 1);

print $ox.' '.$oy."\n";

paizaリバーシの操作

最近はpaizaというサイトのもんだいをときどきといてます^▽^;

そんななかでAランクレベルアップ問題にあるSTEP 5 リバーシの操作というもんだいをといたのできき☆彡の解答をぺたり☆

けっこうくふうしたつもりです(>▽<;; アセアセ

my $input_line = <STDIN>;
chomp $input_line;
my ($H, $W, $Y, $X) = split(/ /,$input_line);
###  外枠を '_' で囲む
my @board = ('_' x ($W + 2));
for (my $a = 0; $a < $H; ++$a) {
    $input_line = <STDIN>;
    chomp $input_line;
    push(@board, '_'.$input_line.'_');
}
push(@board, '_' x ($W + 2));
substr($board[$Y + 1], $X + 1, 1, '*');
for (my $dy = -1; $dy <= 1; ++$dy) {
    for (my $dx = -1; $dx <= 1; ++$dx) {
        next if $dy == 0 && $dx == 0;
        my $ny = $Y + $dy + 1;
        my $nx = $X + $dx + 1;
        my $flg = 0;
        my $t = substr($board[$ny], $nx, 1);
        last if $t eq '*';
        ### はさんでいる?
        while($t ne '_') {
            if ($t eq '*') {
                $flg = 1;
                last;
            }
            $ny += $dy;
            $nx += $dx;
            $t = substr($board[$ny], $nx, 1);
        }
        ### はさんでるよ!
        if ($flg) {
            $ny = $Y + $dy + 1;
            $nx = $X + $dx + 1;
            $t = substr($board[$ny], $nx, 1);
            for(; $t ne '*'; $ny += $dy, $nx += $dx, $t = substr($board[$ny], $nx, 1)) {
                substr($board[$ny], $nx, 1, '*');
            }
        }
    }
}
for (my $a = 1; $a <= $H; ++$a) {
    print substr($board[$a], 1, $W)."\n";
}

Javascript DOM要素を入れ替える


<ul id="elem">
<li>Kiki</li>
<li>Lala</li>
<li>Popo</li>
<li>Nana</li>
</ul>

Nanaを先頭に移動させる

var elem = document.getElementById("elem");
var elemchild = elem.children;

var m1 = elemchild[3];
var m2 = elemchild[0];
elem.removeChild(m1);
elem.insertBefore(m1, m2);

KikiをNanaの後に移動させる

var m1 = elemchild[0];
var m2 = elemchild[3];
elem.removeChild(m1);
elem.insertBefore(m1, m2.nextSibling);

末尾に追加
elem.appendChild(m1); // or
elem.insertBefore(m1, elem.lastElementChild.nextSibling);
elem.insertBefore(m1, null);

先頭に追加
elem.insertBefore(m1, elem.firstElementChild);

結果発表~!?

応用情報技術者の合格発表があったのでみてみました~


結果は・・・…o(;-_-;)oドキドキ♪
続きを読む>>

自己採点結果~

非公式だけど午後の解答速報がでたので採点して見ちゃいました^-^*

午前 86.25
午後 85
  1 情報セキュリティ 15
  3 プログラミング 20
  4 システムアーキテクチャ 14
  6 データベース 18
  7 組み込みシステム開発 18

問題文の見落としや選択の誤りでやや点数をおとしてしまいましたね・・(; ̄ー ̄A アセアセ・・・
情報セキュリティ
 「顧客情報は各商品開発部門には公開していない」
ここにマークしておきながらなんでこの文をみおとしてしまったのか・・
データベース
 「予約情報は各仕入れ担当者に割り当てられその情報も取引システムに入力される」
ここも完全にみおとしですね・・時間が押しててじっくりよめなかった・・(汗

と、いくつか反省点がありますなぁ(; ̄ー ̄A アセアセ・・・

ま、でも合格はほぼ確実でしょう^-^;
結果発表がまちどおしいわぁ~

応用情報技術者うけてきました^-^*

ふ~~  ようやく試験がおわったたぁ~(;´▽`A``

午前は自己採点で86.25点でした^-^*
初めて見た用語がだいぶあったきがするなぁ~

午後は3,4,6,7をえらんでけっこうこたえられたとおもうけど問4のみこたえられなかった問題がありました・・(; ̄ー ̄A アセアセ・・・

わりと自信のある3,6,7の回答をのせてみまっす^-^;

問3
 ア:6 イ:9 ウ:12 エ:15
 A:0 B:1 C:1
 オ:t - size[s]
 カ:maxvalue[t]
 キ:choice[k]
 ク:maxvalue[V]
 ケ:NV

問6
 設問1
  (1) a:→ b:↓ c:販売区分コード
  (2) 仕入金額、販売金額
 設問2
  (1) d:仲卸業者コード
    e:品目コード産地コード、パレット数、単価
  (2) 予約情報をとりまとめる軸が今後変更される可能性があるから。(←ここは自信なし・・・)
 設問3
  f:SUM(t2.単価 * t1.パレット数)
  g:INNER JOIN 仕入明細 USING (仕入番号, 仕入明細番号)
  h:品目コード, 品目名, 産地コード, 産地名

問7
 a;SDに保存
 b:衝突イベント
 c:画像格納イベント
 d:タイマ満了イベント
 e:20 f:20
設問2 10.5FN
設問4 電源投入後、一度もGPS情報を取得できずシステム時刻が設定されていない場合。

あとは問1も合っているかどうか不安・・
どれだけ得点できているでしょうかね・・(゚ー゚;Aアセアセ
続きを読む>>

ともにすごしたお仲間達♪

かわいいお友達♪

あんまりここではECOの日記はかきませんでしたけど
とうとうこっちもおわっちゃいましたね~(ノ△・。)

いっしょにAAAや神託の風穴などにつれていってくれてあそんでくださった方達ほんとありがとうでした~
たのしかったよ~~^^*

Joshua
そして、すっかりお気に入りになってしまったパートナーのヨシュアさんもありがとうなのだ~
今度こそ傷つけることなくすごせてよかったわぁ~

こんなやさしそ~でふわふわっとした子がでるゲームなんてほかにはないよね・・(; ̄ー ̄A アセアセ・・・

それからしばらく経ったわけですが仲良くなったお友達とはメッセンジャーソフトでお話しできてます^^*
そのおかげでSealのときほど落ち込むこともなくなってますね^-^*
ほんとみんな優しいお方たちばかりでありがたいわぁ~


そしてきき☆彡は今応用情報技術者っていう資格を取ろうとべんきょ~しているところでっす^-^*

17日に公開模試ってのがあってうけてきちいました^▽^;
自己採点したところそのけっかは・・・

午前 81.25
 テクノロジ  43/50 86%
 マネジメント  8/10 80%
 ストラテジ  14/20 70%
午後 73
 1 情報セキュリティ 17
 3 プログラミング  11
 5 ネットワーク   16
 6 データベース   13
 8 情報システム開発 16


という結果・・ 午前はストラテジ系の低さが課題ですなぁ~
午後は1問も20点を取れないというものたりない結果でした・・o( _ _ )o ショボーン
問1、3、5、6は自信あったのになぁ~
下線の引き忘れや計算ミス、問題の但し書きを読み落とすなど単純なミスをなんもんかやってしまった・・(・・;)
問題もちょっと難しめで予定よりじかんがかかってあせっちゃいました・・(; ̄ー ̄A アセアセ・・・

間違ったところをふくしゅ~しよう・・

とうとうチャンプに・・!

これまでにCPクエストなどでドミニオン世界で少しずつWRPがたまっていった結果・・・!




とうとうフィールドチャンプになれた~ヾ(@⌒▽⌒@)ノワーイ!

これでチャンプのアイテムをもらえるぅ~ わすれないうちにうけとっておこう~w

トップページへ