ichirin2501's diary

いっちりーん。

PerlでTwitterBot作ってみた

某サイトのHTMLを落として差分(更新情報)を取り、発言させるというもの。 作成時の記憶を辿ってつらつらと記事にしてみる。OSはUbuntuです。 大まかな流れ。 1.Net::Twitterモジュールのインストール 2.Perlでごりごり書く Net::Twitter #!/usr/bin/perl…

SRM450 DIV2

問題を理解するのに10〜15分かかっちゃうな…。 250pt 0と1からなる文字列が与えられる。nビット目を0か1に変換することが可能で、 nビット目を変換したとき、0〜nビット目まで全て同じ値に変換される仕様。 0000の2ビット目を1に変換すると0111になり、さら…

Square root

記事にするつもりはなかったけど、発見があったのでメモ代わりに。 Square root Square root //75byte #import<stdlib.h> main(i) { for(;gets(&i);)printf("%.9f\n",sqrt(atof(&i))); } 70byteが切れないorz atoi関数はstdlib.hをインクルードしなくてもgccコンパイラ</stdlib.h>…

SRM443 DIV2

積ん読ではなくて積ん記事状態だった、 最強最速アルゴリズマー養成講座:あなたの論理的思考とコーディング力は3倍高められる (1/2) - ITmedia エンタープライズ を漸く読み始めた。このような記事がもっと増えたらいいのになぁ 550pt 早速記事に取り上げら…

IROIRO2

昨日のperlに触れてショートコーディング熱が復活。 even lines anarchy golf - even lines id:Nyhxさんがやってらしたので乗っかる。しかし全く同じコードに落ち着くw これより先は環境依存だと判断して手元では動かないコードを送ってみる。 success! え? と、…

SRM424 DIV2(再び)

perlを暫く使ってないので、前回の250pt問題に取り組んでみる。 250pt …手が動かない、( ゚д゚)ポカーン…忘れてる。 入門サイトを見ながら思い出す。 ~s/A|Z/(push@w,$&),$&/ge,~s/A|Z/pop@w/ge,print for<> 下手なりにショートコーディング済み。 もっと短く出来そうだ…

SRM424 DIV2

250pt 大文字アルファベットのみからなる文字列の文字'A','Z'だけを反転させる。 与えられる文字列は最大50文字。 class MagicSpell { public: string fixTheSpell(string spell){ stack<char> s; for(int i=0;i</char>

SRM346 DIV2

500pt You will be given a vectora and two ints lower and upper. Return the number of integers between lower and upper, inclusive, that are multiples of all members of a. 問題文の意味を理解するまで時間かかったw multipleは掛け算を意味するも…

Euler85 & Euler159

またまたProject Euler これで97問正解 Problem 159 問題150と同様に動的計画法で解けます。 問題150よりも簡単。 Problem 85 長方形の内部に部分長方形(正方形含む)の個数を数える問題です。 と思ったら打ち間違えた、問題を解く上で数え上げの部分の印象が…

Euler150

久しぶりのProject Euler Problem 150 日本語約のWikiだと、 t := 0 for k = 1 up to k = 500500:{ t := (615949*t + 797807) modulo 2^20 sk := t−219 } と記述されてるが、 sk:=t-219 ではなくて sk:=t-2^19 です。誰か直すんだ!だれk(ry とりあえず…

SRM449 DIV2

初陣、そして心が折れた。 250pt 二等辺の直角三角形ということが分かれば解けます。 角度が全て同じなので、谷の部分は反転と平行移動で一つの二等辺直角三角形を作ることが出来る。 最小のstartから最大のfinish地点までの差の長さを持つ二等辺直角三角形…

AOJ1021 && SRM211

Emacs-like Editor http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/problem.jsp?vol=10&id=1021&tle=1&mle=32768&title=Emacs-like%20Editor&doc=4&lang=jp 仕様と異なる動作を含んでしまい、苦戦した。 そのまま実装するだけ、何がだめなんだよウワーン状態…

いろいろ

google anarchy golf - google Nyhxさんがやってるのを拝見して、そういえば過去にチャレンジしたことがある問題だ。 と、思い、そういえばまだソースコード残ってるかな?→find→yes 当時は59byteで断念したらしい。 ランキングを見ると66byteを境に一気に55…

Algoritm Tutorials

Data Science Tutorials – topcoder ここのDumitru氏のHow to Find a Solutionを読み進めて行こうと思う。早速、BFSのSmartWordToy - SRM 233 Div1にチャレンジしたんだけど、見事にTLE 解答を見合わせるとたぶん合ってるんだけど、圧倒的に速度が足りなかっ…

AOJ 問題0000

Aizu online judgeにもバイト数でランキング(Status)のソーティングが出来るようです。 というわけで、 http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/problem.jsp?vol=0&id=0000&tle=1&mle=32768&title=QQ&doc=4&lang=jp この問題をショートコーディン…

Google Code Jam Round1

結果が散々だと悔しさを通り越して笑いが込み上げてくるよね。 通過できませんでしたーorz 個人的には R1B R1Cが一番簡単な問題が揃ってると言う人が多いみたい。 言い訳をさせていただくと、R1Bに1時間半寝坊していなければ、問題A、Bを完答出来た…よ?。 …

SRM448 DIV2

英語の関係でリアルタイムの参加は無理、くやしいのうw 250pt BlackJackにおけるトランプの数字と種類が"2C","AD","TH"という情報で与えられ、 その与えられた全てのカードの数字の和を求める問題。 普通にループ回して値を当てて足すだけ。 500pt 1..nまで…

SRM253 DIV2 1000pts

また診断人さんのニコ生に突撃してきた。 SRM253 DIV2 1000pts 50*50以下のマップ情報が与えられて、Aからアルファベット順に何歩進めるか(8方向)という問題です。 普通に再帰を利用して解いてみた。 #include <iostream> #include <vector> #include <string> #include <cstring> using names</cstring></string></vector></iostream>…

Google Code Jam - Qualification Round

参加者の皆さんお疲れ様でした。 今回初参加、C++でチャレンジしましたよー。問題文の英語…辛かったですw 問題A Alien Language 文字列の生成規則と文字列が与えられて、指定された生成規則で与えられた文字列のうちいくつ生成できるかという問題です。 簡…

SRM447 DIV2 , SRM446 DIV2

SRM447 DIV2 250pt 与えられた仕事のコストとコンピュータの性能の値から、同時に仕事を処理できる最大の個数を求める問題。 データセットを昇順にソートさせた後で、順に比較していけば良い。 SRM447 DIV2 500pt ナイトツアーに少し制限を入れた問題。 SRM4…

SRM252 DIV2 500pts

ニコニコ生放送で診断人さんがTopcoderの問題を解いていたのでwktkしながら視聴してました。 We define a permutation of an integer n as an integer that has the same digits as n, but in an arbitrary order. Two permutations of n are considered dif…

99

Euler99解いた。解答者が多いことからも簡単な問題です。 普通にlogの基底変換を用いれば解ける。 基底変換の公式が思い出せなくて、導こうとして失敗した。 2度ほどやってるはずだけど…、なんか出来ないなぁ。 後で基底変換についてぐぐってみると、こんな…

Smileys Triangle

anarchy golf - Smileys Triangle2度目の登場です、現時点での最短コードが書けたので公開します。 id:Nyhxさんのコードを見なければ到達はかないませんでした。 63B c[];main(i){ for(*c=58;i+33;strcat(c,--i?"))"+!~i:"-")) puts(c); } 短縮の鍵は最初に…

95,104,204

Project Euler 95,104,204解いた。これで計92問、あと8問で3ケタだ…。 Project Euler 95 くそコードで動作させてみるが、あまりの遅さに絶望した。 とりあえず現時点で表示されてる答えを入力してみよう!→正解→( ゚д゚) Project Euler 104 これも素直に実装…

Project Euler

プロジェクトオイラー遊び倒すガイド(導入編)Project Eulerの布教記事を書いてる方がいた!導入編、初級編、中級編、上級編と4つがあり、初級〜上級編は例題を用いて問題を解く流れを紹介している。 中級、上級編に挙げられてる例題がオリジナル問題になっ…

またgとオイラー

Project Euler164を解いた。これで解いた問題数は計89問になる。Lv3まであと11問かー、地道に解いていくことにする。 〜通りあるか数えろ系の問題は大の苦手というより数学が苦手wだから問題を見たときに敬遠しようかと思ったのだけど、 普通に動的計画法だ…

またごr(ry

anarchy golf - Hamming Numbers撃沈した。 90Bあたりを境に完全にアルゴリズムが違う気がする。 90B切りたい…現時点では100B切るので精一杯かorz98Bコード a,s;main(k,i){ for(scanf("%d",&i);i;k+=s>5||printf("%d\n",k)|i--) for(a=1,s=k;++a<6;)s%a||(s/…

またごるふ

anarchy golf - Smileys Triangleid:NyhxさんがSmileys Triangleやってたので自分もやってみた。(勝手に名前出してよかったかな…不安) i,s[99];main(k){ for(;i++<34;)puts(strncat(s,":-))"-k,i<4?(k--,1):2)); } 70Bのコード、送信しておらず。 最初はメ…

ごるふった。

anarchy golf - Goldbach partitionCで書いてみた、138B 送信してないw j,k,m;main(i){ for(i=4;i<300;puts("")) for(printf("%d:",i+=2),j=1;j++