2010年08月18日
アイコン新装しました
ひさしぶりのお絵かき。
なんというかよく分からない絵になってしまいましたが、Twitterのアイコン用に絵を描いてみました。
・・・なんかエロ魔神な感じに(゚Д゚ )
なのでちょっと改良。しっぽを変えて、手をつけてみました。
ついでなので夏らしく帽子も。
2010年08月15日
SRM479 Div2
今回は、前回やっとレートがちょっとだけ回復したので今回も勢いに乗りたい感じ。
250p TheAirTripDivTwo
飛行機に与えられた燃料で何回飛行ができるかを答える問題。燃料とかICFPを思い出す。
単純に燃料がゼロになるまで引いていけばいいはず・・・だったのに。変にfuelをいじったりとかi-1を返すとか汚いコードに。結果213.90p
#include <iostream> #include <vector> using namespace std; class TheAirTripDivTwo { public: int find(vector <int> flights, int fuel) { int i=0; while(fuel>=0){ fuel-=flights[i]; ++i; if(i>flights.size()) break; } return i-1; } };
根本的に直してPlacticeで投げてみたら247.16p。これくらいは速く書けないとなぁ。。。
#include <iostream> #include <vector> using namespace std; class TheAirTripDivTwo { public: int find(vector <int> fl, int f) { int i; for(i=0;i<fl.size();++i){ f-=fl[i]; if(f<0) break; } return i; } };
500p TheCoffeeTimeDivTwo
飛行機の乗客全員にコーヒーかお茶を配って最速を目指すスピードトライアル。
7人分のコーヒーor茶を容易するのに47秒、1席移動するごとに1秒、渡すのに4秒かかるそうな。
後ろから足せばいいってことに気づくのが遅すぎた。。
#include <iostream> #include <vector> #include <algorithm> #include <functional> using namespace std; class TheCoffeeTimeDivTwo { public: int find(int n, vector <int> tea) { sort(tea.begin(),tea.end(),greater<int>()); vector<int> coffee; int k=0; for(int i=n;i>0;--i){ if(k<tea.size()&&i==tea[k])++k; else coffee.push_back(i); } int time=n*4; for(int i=0;i<tea.size();i+=7){ time+=47; time+=tea[i]*2; } for(int i=0;i<coffee.size();i+=7){ time+=47; time+=coffee[i]*2; } return time; } };
1000p TheBoardingDivTwo
まだ解いてません。
2010年08月09日
近況報告とか
さて、最近全然更新してなかったので状況報告的なものを。
先週は試験だった(とはいえ試験が詰まってるわけではなかったのですが)のでなかなかプログラム関係の勉強に手が届かなかったのです・・・。土日から夏休みに入ったのでアルゴリズムの勉強とかしたいなぁ。
そういえばかわさきロボットに向けて回路をつくらないといけないんだ・・・
夏休みにやることが多すぎてオーバーフローしそうな感じです。
どうしよう・・・