ichirin2501's diary

いっちりーん。

2009-01-01から1年間の記事一覧

ピタゴラス数

2chの宿題スレにて、3辺の和が1000以下の直角三角形の総数とそれらの中で面積が最大になる辺を出力という問題があった。 高々1000程度なら3重ループの総当たりでもスペックに任せて答えが出せるけど、10000以上とかになるともうだめ。 高速化するために、原…

SRM455 DIV2

orz250pt opened 500pt compiled 1000pt closed 250pt 問題文が理解できず。 500pt デバッグしてたら終わった。 Rate: 982 → 834 (-148)

Happy Number

anarchy golfを開いたらHappy Numberが題材になってたのでやってみた。 Happy Numberでぐぐると、海外のWikiが凄く充実してるのに対し…日本語のWikiが存在せず。 happy number anarchy golf - happy number 1から2000までのHappyNumber数を出力する。 NappyN…

SRM454 DIV2

眠気に襲われながらも参加。 250pt submit 500pt submit 1000pt closed Challenges なし 250pt 201.46 / 250 pt 与えられたCの桁和とAからBの範囲の値で桁和の差が最小になるような値を求める。 つまらないミスで時間ロスした。これは240pt取ってないとだめ…

SRM416 DIV2

久しぶりのtopcoder NextNumber The binary weight of a positive integer is the number of 1's in its binary representation. For example, the decimal number 1 has a binary weight of 1, and the decimal number 1717 (which is 11010110101 in binar…

AOJでShortCoding

先日告知してたAOJのコードです。 0001 http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/problem.jsp?vol=0&id=0001&tle=1&mle=32768&title=List%20of%20Top%203%20Hills&doc=4&lang=jp このコードは一番目に上位3つのうちどれかの値が含んでたらだめなコ…

265:Binary Circles

新しい問題が出たので覗いてみたら好みな問題だったので解いてみた。 これでProjectEuler計103問、一応Level3だけど実感なし。 Project Euler 265 Problem 265 - Project Euler 2進数の数列を時計回りにしたとき、N桁の数列全てが出現する2進数の和を求めよ…

式の解析

数日前に、式の構文解析でも書いてみようかなーと、書き殴ったコード。 割り算は対応してない。 どうしてこうなった、ってぐらい酷い出来になっている。 #include <stdio.h> #include <stdlib.h> #include <string.h> #define multi(x,y) ((x)*(y)) #define add(x,y) ((x)+(y)) #define su</string.h></stdlib.h></stdio.h>…

Sum and Average

他ブログ様にコメントして、その内容が間違ってることに気付いて鬱のichirinです。 コメント修正出来るならしたい、とってもしたい。 ソースコード送信の件も含めてやっちまった感がすごく漂っています。 Sum and Average http://rose.u-aizu.ac.jp/onlineju…

ビット演算の小技

ビット演算の扱いが下手なので、慣れるためにビット演算で遊んだり、小技を集めてみた。 今回は小技のめも。 一番右のビットを0にする x&(x-1) 一番右の1になってるビットの位置 x&-x 一番右の0になってるビットの位置 -~x&~x 一番右側から連続してる0を1に…

シーザー暗号(Caesar cipher)

DES暗号アルゴリズムをやるつもりだったけど、目に入ったシーザー暗号を組んでみた。 数字と英文字しか対応してない上に、区分けしてずらしているという残念なコード。 main() { int n,i,e; unsigned char str[1<<10]; printf("input_data:"); gets(str); pr…

Smileys Triangle(りべんじ)+α

63byteが最短コードだと思っていた頃がありました。 当時のコードで一度断念したのですが、 googleのコードを縮めた際に知ったテクニックを利用して61byteに到達! やっぱり「まだ」縮められると分かるだけでも違いますね 出し惜しみしても得られるものなし…

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>…