ふみをチャレンジ[10]
10日間やってこれたけど、問題が難しくなってきたのと、大学の試験が近づいてきたのとで、毎日続けられなくなるかも…
答案
白紙解答…
エラトステネスのふるいを用いればいいらしいけど、さっぱり分からず…
反省
最近、他ブログ様にお世話になりっぱなしで、自分の実力にすこし限界を感じている。大丈夫だろうか…また今度やってみよう。
ふみをチャレンジ[9]
AOJだんだん難しくなってきた…センター試験終わったね。受験生はこれから個人戦になるので、気を引き締め直して頑張ってください。あとでセンター問題解いてみるか。
答案
#include <stdio.h> int main() { int a, b, c, d, n, count; while(~scanf("%d", &n)) { count = 0; for(a = 0; a < 10; a++) { for(b = 0; b < 10; b++) { for(c = 0; c < 10; c++) { for(d = 0; d < 10; d++) { if(a+b+c+d == n) count++; } } } } printf("%d\n", count); } return 0; }
反省
もっとエレガントな方法はないのかと考えてたけど、結局全部求めることにした。最大でも50なのでTime Limit Exceededになることはなさそうということで。
ふみをチャレンジ[8]
センター試験1日目、受験生のみなさんお疲れ様です。残りの科目も頑張ってください。
答案
C
以下、Wrong Answer。
#include <stdio.h> #include <math.h> int main() { int n, debt = 100000; scanf("%d", &n); while(n > 0) { debt = ceil(debt * 1.05 / 1000) * 1000; n--; } printf("%d\n", debt); return 0; }
反省
答え合ってるはずなんだけど…Wrong Answerが返される。なんでー??
[追記] (2012-01-15)
腑に落ちないのだが、他のブログに載っていた方法でやってみると、正解になった。
上の僕の方法がなぜ間違いになるか分かる方いらっしゃったら、指摘していただければ幸いです。
#include <stdio.h> int main() { int n, debt = 100000; scanf("%d", &n); while(n > 0) { debt *= 1.05; if(debt % 1000 != 0) { debt += 1000 - (debt % 1000); } n--; } printf("%d\n", debt); return 0; }
ふみをチャレンジ[7]
1週間やってこれた(∩´∀`)∩ワーイ
明日はセンター試験。受験生のみなさん、諦めずに最後まで頑張ってください!
答案
#include <stdio.h> int main() { char str[21], *p; p = str; scanf("%s", str); while(*p) { p++; } while(p > str) { p--; putchar(*p); } putchar('\n'); return 0; }
反省
これはポインタを勉強したときに作ったことがあったので、簡単に作ることができた。手元の環境ではchar str[20]でも大丈夫だったけど、AOJではRuntime Errorと言われた。\0のスペースの問題なんだろうけど。
Twitterのプロフィールの下に「リストへの追加/削除」ボタンを追加するユーザースクリプト書いた
先日、Twitterでリストの整理をしていたら、間違ってブロックの項目を選んでしまい、フォロワーの方に迷惑をかけてしまった。2つのメニュー項目が隣接しているのが問題で、ブロック時の確認メッセージなど一切ない。また、マイリスト画面を開くためには、メニューを開き、項目をクリックするという二段階の動作が必要で、前々から面倒くさいと感じていた。以上の理由で、別の場所に「リストへの追加/削除」ボタンを追加するユーザースクリプトを書くことにした。
面倒くさかったのが、スクリプトの実行タイミング。onloadの時点では上のメニューバーしか読み込まれていない。DOMNodeInsertedをaddEventListenerして、必要な要素以外を弾けばいいようだ。他に方法があれば試してみたい。
なお、自分自身をリストに追加できなくなったため、自分のユーザータイムラインではボタンは表示されない。
インストール
Twitter List Button - userscripts.org
上記リンクよりインストールしてください。