2012年12月29日土曜日

AOJ 0513 & AOJ 0514

AOJ 0034

AOJ #0034
いくらやってもWAになるので他人のコードを試しに引っ張ってきたら普通にAC。
結果的にdoubleで数値が若干ズレてたり、eof周りでバグってたりしてたのを直したらようやく通った。

2012年12月13日木曜日

2012年10月16日火曜日

だから僕は幾何が出来ない

AOJ 0023
超絶スパゲティ
#include<iostream>
#include<cmath>
using namespace std;

int main(void){
  int n;
  cin >> n;
  for( int i = 0; i < n; i++){
    bool f = true;
    double xa, xb, ya, yb, ra, rb;
    long double r;

    cin >> xa >> ya >> ra >> xb >> yb >> rb;

    r = sqrt( pow(fabs(xa - xb), 2) + pow(fabs(ya - yb), 2));
    // cout << sqrt( pow(fabs(xa - xb), 2) + pow(fabs(ya - yb), 2)) << endl;
    //cout << r << endl;
    if( r > ra + rb ){
      cout << 0 << endl;
    }
    else{
      if(ra < rb)
        f = false;

      if(f){
        if(r + rb < ra){
          cout << 2 << endl;
        }else{
          cout << 1 << endl;
        }
      }

      else{
        if(r + ra < rb){
          cout << -2 << endl;
        }else{
          cout << 1 << endl;
        }
      }
    }
  }
  return 0;
}

なんというかまず変数をどうやって扱うのかとか、どうやって答えを出したらいいのかとかよく分かんなくなる。
数学でも幾何苦手なんで。

2012年9月9日日曜日

PCK2012 問5

問題みてよく分からず、DPで解くのか?PCKだし全探索か?みたいなことを考えつつ結局放置していた。
パソコン甲子園2012予選 - 自分の解法 - kyuridenamidaのチラ裏
貪欲法?
普通に考えてみればパイプの長さの総和はジョイントの位置によらないじゃん。どう考えても短いジョイント外すのが最善じゃん。
なんで気が付かなかったんや……

AtCoderのarc007に出てみた

PCK惨敗した腹いせに参加。結局惨敗。ひどい。

PCKに参加してきた。

AOの書類出し終わってひと段落したので、PCK参加しました。
結果→3完。惨敗。
とりあえず書いたソースコード貼ってく。

2012年6月30日土曜日

受かってましたけど?

データベーススペシャリスト、結果的に合格してました。

その得点は、

午前Ⅱ 75点
午後Ⅰ 72点
午後Ⅱ 90点

と、午後Ⅱで90点という高得点を叩き出し、自信のなかった午後Ⅰすら合格基準の60点を大きく上回る結果に。


敗北を知りたい。

6月に受けた英検とか数検とか落ちてるんですけどね。

2012年5月18日金曜日

リハビリしなければ

最近コードを書くのが億劫になってる。ちょっと悪い傾向ではある。
というか最近もう疲労が蓄積してる。特に眼精疲労がひどい。
ひどいと言えばこのMozcの辞書もひどい。ATOKの辞書下さい。

2012年5月12日土曜日

受験

受験方針を模索中。
正直今のところ筑波とかに受かる気がしない。
普通に受験勉強も視野に入れてます。

2012年5月1日火曜日

8バイト整数

#include<iostream>
#include<cstring>
using namespace std;

int main(){
 unsigned long long int i = 18446744073709551615;
 cout << i << endl;
 i++;
 cout << i << endl;
 return 0;
}

メタ文字変換くらい自分でやりたい

2012年4月15日日曜日

今日は

情報処理技術者試験。受ける区分はDB。
今から受かるかどうか不安である

2012年3月23日金曜日

久々の

プログラミング。 数検で出た問題を解くプログラムをぱぱっと作ったついでに思いついたので今更ながらに書いてみた。

2012年3月19日月曜日

囲碁、始めました。

東洋動かないんでKGSです。まだ15級です。GNU GOに勝てない。
rigibunでやってるので暇な人は探してみて下さい。

参考書:

この二冊でOKだと思います。囲碁を始めるにはうってつけ。
それでは。

2012年3月1日木曜日

TODO?

コンソールで動作する簡易的なTODOツール。 保存には対応してござらん。

2012年2月29日水曜日

高校生とモバイル

高校生にとってモバイル端末がどれくらい必要であるのかをちょっと考えてみた。
そもそもモバイル歴まだ2年無いけど。

最近よく思うのが、iPadが欲しいとかMacBook Airが欲しいとか。いるのかと。
まぁMacBook Airはコタツに入ってプログラミングしたいし薄くて軽いのは結構便利だと思うけど。
とりあえず高校生にとって、野外でもネットにつながってフルキーボードで文書やプログラムを書ける必要があるのかというと、実際そんなに無いと思う。
まぁ帰りに教室になんとなく残ってると、その時間でPCを使いたいと思うことも無いわけではないけど。

というわけで現在もはや時代に取り残されつつあるHTC EVO WiMAXを使っているわけだけど、そこにプラスして別な端末を持つべきか否か。
・快適にブラウジングしたい
  普通にデスクトップPCでやるべき。
・文書を作りたい
  これは結構でかい。あの小さいソフトウェアキーボード使うのはノーサンキュー。
・プログラム作りたい
  Androidでは現状厳しい。タブレットPCでも厳しい。これはやっぱりPCが欲しい。

というわけで、MacBook Airが欲しい。が、完全に家用であってモバイルとしてはメールができて簡単なブラウジングができるスマートフォンを一台持っていれば十分である。という結論。

2012年2月27日月曜日

プログラミングはサボっても

タイピングはサボらない。これ大事。

やっぱり人間一度怠けてしまうとそれが癖になるね。というわけで毎日どんな事でも大量の文章をタイピングすることで、いつでも長文を量産できるようにしておきたい。

今回は、とりあえず書くこともないんで欲しいものをまとめておこう。

1.MacBook Air
もう何回も言ってる。これが欲しい。11インチが。一旦iPadでもいいんじゃないのって思ったこともあったけど、やっぱりプログラミングを主な用途としたいので、
PCであるということは外せない。
2.Xperia mini pro
言わずと知れたmini pro。あのサイズでキーボード付きの恐ろしさ。
外で軽い文書とかブログの記事書いたりするのに使いたい。
3.Boogie Board BB-2
すでにBB-1を持ってるんだけどやっぱり大きいのがあっても困らないと思う。
まぁBB-1自体そんなに活用してないんだけど。

ということで、今のところ欲しいガジェットリストということで。
大した文章量にならなかった。

2012年2月25日土曜日

高校生のくせにノマドぶらなくてもいいんじゃね

ひとつの記事にまとめろよ…
ちょっとガジェットがほしいです。
今のところ、小さくてキーボードついててって考えるとiPadにbluetoothキーボードつけるかmacbook Airの二択ですが、
やっぱりパソコンが良いのでmacbookになるかと。買えるの多分来年くらいだけど。

google日本語入力を入れればいいじゃない

というわけで早速導入してみました。
sudo apt-get install synapticでsynapticというソフトウェアマネージャーを新たにインストールし、
ibus-mozcをインストール。
実際使った感想としては、まだまだインストールして5分も経ってないのでなんとも言いがたい。けどやっぱり日本語でよく使われる漢字を優先的に変換してくれるのは快適。

HTC EVO WiMAXからカバーを外す生活

やっぱりこれなんか野暮ったいというかあまりスマートじゃない気がしてきた。 シリコンなんて耐衝撃性能もたかがしれてるだろうし。 というわけで、今日からしばらく、シリコンカバーを外してみるテスト。

2012年2月12日日曜日

Div1挑戦記

とりあえずDiv1の過去問を見てみた SRM 522
Easy(250)
普通の250点問題。そんなに難しい問題でもなかったけど、問題の意味が正直まったく分からなくて無駄に時間使った。
要約すると、'A','B'に塗り分けられたマスがあって、連続する同じシンボルのマスを消していってどっちが残るのか見たいな感じ。

2012年2月10日金曜日

SRM 532 Div2

初参戦。 SRM 532 Div2
Eaxy(250)
配列が与えられたとき、抜けている数字の個数を返す問題。

2012年2月8日水曜日

今日のPractice

SRM 200 Div2
Easy(250)
入力された数式を左から順に計算するだけ。
こんな問題で実装に13分掛かるのもどうなのよ…

2012年2月7日火曜日

practice SRM 472 div2

SRM 472 Div2
250
R,G,B,Yの4パターンがランダムに並べられたとき、同じパターンが隣り合わないように他のパターンに差し替える最小回数を求めるらしい

素因数分解

教科書に素因数を求めろみたいな問題があって、求めるだけかよとか思いつつさっさと作った

2012年2月6日月曜日

精力的に更新

さすがにタッチが軽いだけあってたまに二連続で入力されるでござる。

いきなりだけど東大目指します。入れるとは思ってない。しかし東大が東大に受からない奴は高校卒業レベルじゃないみたいなことを言ってたんでそのつもりで勉強しないと未来が無いかと思った。

明日の分

もうね、バカじゃないかと。 SRM 530 Div2
500
完成後のケーキとカッターの形を与えられて、ケーキをカッターの形に取り除いて言ったとき完成形になるかって問題
実装の方針はすぐに思いついたけどvectorとかどう扱っていいか分からなかったので人の解答丸パクリすることに。
それが悪夢の始まりだった…

2012年2月4日土曜日

さぼったーじゅ

今日はSRMのPracticeをやってみた
SRM 146 Div2
250
要約すると配列で渡された数字の中で、同じ数字の合計がもっとも大きくなる数字を選べみたいな問題

2012年2月1日水曜日

test

#include<cstdio>
#include<algorithm>
#define INF 10000
using namespace std;

int main(void){
 int dp[5];
 int a[5] = {1,2,3,1,5};
 fill(dp,dp + 5,INF);
 int i;
 putchar('\n');
 for(i = 0; i < 5; i++){
  *lower_bound(dp, dp + 5, a[i]) = a[i];
 }
 printf("%ld\n", (lower_bound(dp, dp + 5, INF) - dp));
 return 0;
}
いい感じにハイライト出来てる!

リハビリテーション

ひっさびさにC++のソースとか書いた

#include<cstdio>
#include<algorithm>
#define INF 10000
using namespace std;
int main(void){
    int dp[5];
    int a[5] = {1,2,3,1,5};
    fill(dp,dp + 5,INF);
    int i;
    for(i = 0; i < 5; i++){
        printf("%2d",dp[i]);
    }
    putchar('\n');
    for(i = 0; i < 5; i++){
        *lower_bound(dp, dp + 5, a[i]) = a[i];
    }
    printf("%ld\n", (lower_bound(dp, dp + 5, INF) - dp));
    return 0;
}

蟻本P.65より、最長増加部分列問題

新しいキーボードが最高過ぎる
あと数学力磨かないとだめですね。アルゴリズマー目指すにしても、目指さないにしても、プログラミングする以上は数学は必須。

2012年1月17日火曜日

デスクトップ時計

前回のソースからカウントダウンの部分を取り除いただけ

from Tkinter import *
from time import *
from Tkinter import *
from time import *
a = 0
root = Tk()
root.option_add('*font', ('FixedSys', 14))
root.minsize(400,200)
root.maxsize(400,200)


buff = StringVar()
buff.set('')

lb = Label(root,textvariable = buff,bg = 'black',fg = 'white',anchor = 'c',width = 40,height = 10)
lb.pack()

def show_time():
    buff.set(strftime('%H:%M:%S'))
    root.after(1000, show_time)

show_time()
root.mainloop()

2012年1月13日金曜日

高度試験

ついに高度試験を受験。受けるのはデータベーススペシャリスト。これ受かったら入試楽になりそう。 さすがにこれ取ったらもう資格とらなくていいよね

2012年1月1日日曜日

カウントダウンクロック Ver.2012

from Tkinter import *
from time import *
from Tkinter import *
from time import *
a = 0
root = Tk()
root.option_add('*font', ('FixedSys', 14))
root.minsize(400,200)
root.maxsize(400,200)


buff = StringVar()
buff.set('')

lb = Label(root,textvariable = buff,bg = 'black',fg = 'white',anchor = 'c',width = 40,height = 10)
lb.pack()

def count10():
    buff.set('10')
    root.after(1000,count9)

def count9():
    buff.set('9')
    root.after(1000,count8)

def count8():
    buff.set('8')
    root.after(1000,count7)

def count7():
    buff.set('7')
    root.after(1000,count6)

def count6():
    buff.set('6')
    root.after(1000,count5)

def count5():
    buff.set('5')
    root.after(1000,count4)

def count4():
    buff.set('4')
    root.after(1000,count3)

def count3():
    buff.set('3')
    root.after(1000,count2)

def count2():
    buff.set('2')
    root.after(1000,count1)

def count1():
    buff.set('1')
    a = 1
    root.after(1000,colorchange)

def colorchange():
    lb.configure(fg = 'red',bg = 'white')
    show_time()


def show_time():
    if strftime('%H:%M:%S') == '23:59:50':
        count10();
    else:
        buff.set(strftime('%H:%M:%S'))
        root.after(1000, show_time)

show_time()
root.mainloop()


カウントするあたりがものすごく気持ち悪くなった。
これでも年明けに18分間に合わなかったしね……
カウントダウンも10からだし。
来年はまともにpythonを学んでリベンジしたい。