数年ぶりの更新

8月8日から8月11日までの3泊4日で沖縄に行きました。

結論としては生まれ変わって美ら海水族館のマナティになって暮らしたいレベルに素晴らしいところでした。
(※明治のいちごオレを売っていないので、この人生で住むことはできなさそう。)

8月8日

余裕のWake up。まぁいちごオレなのでね。
福岡空港まで公共交通機関を使う。
途中で地下鉄が止まって焦る。
無事動き出したので安心する。
福岡空港に着く。
福岡空港で迷子になる。
気付いたら無事に飛行機に乗れていた。
飛行機でかい。安全係数は低い。でも飛行機でかいから好き
飛行機の中でポケモンのブイズのやつがあっていた。やはりイーブイが一番可愛い。ミジュマルはネタ要員だった。
那覇空港着。
道迷い。
モノレールの1日乗車券を買う。24時間有効という神仕様。


NAHA CITY WIFI is KAMI.
電源探しが始まる。






那覇のイオンには電源がなかった。

おもろまちのメインプレイスというところのスタバで電源確保(人生初ぼっちスタバ)

「抹茶クリームフラペチーノのGrande」をかまずに言えた。
国際通りで音ゲー探し。
緊急事態

国際通りで音ゲー探し。続ける

国際通りで音ゲー探し。再

沖縄チェリオ自販機を見つける。
JungleManという飲み物を飲む。オロナミンCっぽい味だが後味が悪かった。
ほっともっとで「おろしチキン竜田」を買って食べる。
わけがわからない出来事

まとめ

メインプレイスに行きましょう。

8月9日

余裕のWake up。まぁいちごオレなのでね。
なっちゃんに観光案内してもらう。
首里城のところをまわる。やばかった。主に坂が。石畳道やばい。 参考
石畳坂のごみ収集を見た。大変そう。
石畳坂のヤクルトレディを見た。大変そう。
首里城すごい(小並感
ちゃらいと噂になっていたなとりうむさんと合流のため那覇空港に。
ちゃらい。
ちゃらい。
タコスを食べに行く。
ICT委員会な方々とタコスを食べる。楽しいおいしい。タコスたべるの難しい。量多くて素晴らしい。
沖縄高専に着く。
沖縄高専綺麗。
沖縄高専綺麗。
沖縄高専綺麗。
沖縄高専見学。
沖縄高専海が見える。
某Kurume高専とは...と数回考えるレベルで綺麗だった。
沖縄高専のでかLTに参加。
沖縄高専のでかLTでプレゼンする。(プロラボへの勧誘☆)
僕の前の発表がなっちゃんだったんだけど、そこでプロラボis敵になって(。>﹏<。)ふえぇ...(
「敵は帰れよオラオラ」という事はなく優しく異物を受け入れてくれた沖縄高専の方々天使。ぜひプロラボへ。
質問コーナーで「好きな言事エディタは?」に対し、「C言語とbcpad」と答える。(平和的に答える人間の鑑)
その結果M教授に媚びているという判定をもらう(′ཀ`)
沖縄高専のLTはそれぞれ個性が出てるし、1年生もこの時期からプレゼンできるってすごいなぁと思った。5年生のプレゼンにいたってはすっっっっっっごいうまいし驚愕だった。
ICTな方々と話こんでいた。
なっちゃんたちが「レポート提出しなきゃーーーー」といっていたので、教官室に行くのかなぁと思ったらパソコンいじって終わりだったので唖然。
レポートの提出って紙媒体を教官室のポストにいれるものではないのか...(驚愕
新しいゲームを知る。
ICTの方によるおいしい料理(+なとりうむふーどin沖縄(炒めるのをお手伝い))を食べた。

まとめ

自撮りは奥が深い。
ICT委員会煽りが少なくてびっくりした(某5年生の方へのものを除く)
そこはプロラボとは全然違うと思った。(某5年生の方へのものを除く)

8月10日

余裕のWake up。まぁいちごオレなのでね。
美ら海水族館に行く。
マナティis癒やし
マナティis癒やし
マナティis癒やし
マナティis癒やし
マナティis癒やし
マナティis癒やし
マナティis癒やし
マナティis癒やし
マナティis癒やし

オキちゃん劇場(サジェストされる。すごい。)を見た。イルカisすごい。
なまこisなまこだった。
チンアナゴは癒やし。
ジンベイザメかっこいい。
ジンベイザメかっこいい。
ジンベイザメかっこいい。
ジンベイザメかっこいい。
沖縄の料理のお店で食べる。うまい。
ブルーシールアイス食べる。うまい。
はしゃぎすぎて疲れてた。

まとめ

マナティになりたい...

8月11日

余裕のWake up。まぁいちごオレなのでね。
海。ちょうど甲子園があっていたので、人が少なかった。
がんばって日焼け止め塗ってたのに日焼けしていて悲しい。
沖縄そばisJUSTICE
沖縄ぜんざいisJUSTICE
かがみずくん(癒やし)と合流
国際通りをぶらーーーーんとする
自由の翼に過剰反応してしまう病
那覇空港
なとりうむ「飛び立ちぬ」
福岡空港に帰ってくる。
天神で終電がまだだったので、一蘭に。
一蘭おいしい。替え玉。
終電が近づいてきたのでおとなしく帰る

まとめ

沖縄 is Good.
沖縄高専(特にICT委員会)の方々ともっともっっっっといろいろ話してみたいし、どう考えても話し足りないし、またどこかであった時にいっぱいお話できるといいなーーーーーー!!!


最後に

毎日ホテルへの送り迎えとかいろんなところに連れて行ってくれたり専属ドライバー状態だったなっちゃん様ありがとうございます。
沖縄でお世話になった方々ありがとうございました。時間があったらぜひ久留米にも来てくださいヾ(。>﹏<。)ノ゙



Fin.

目標の途中経過

・ちゃんとLTする。
はい。

高専プロコン最低2部門入賞。
どうなるでしょう。

・合宿する。
しそうです。

・講義する。
しそうです。

・競技強くなる(TopcoderDiv1行く)。
行きました(後は維持する)

・開発強くなる。
どうでしょう。

・プレゼン強くなる。
どうでしょう。

・英語の勉強する。
Duoたんと戯れ始めました。

・部長の仕事する。
なんとかなってそうです。

・ゲームを最低1つは作る。
まだ

・コーディング規約を守る
コーディング規約とは。

・数学の勉強する。
ふ~りえ~ふ~りえ~

・留年しない。
まだしてません。

・コンテスト開く(部内で2回)。
開いてない

・人を煽りすぎないようにする。
最近煽りが少なくなりました(当社比0.99999倍くらい)

・時間を有効に使う。
のん。

デスマーチをしない。
もうしました。

・いろんな人とコミュニケーションをとる。
まぁ。

・積極的に人と話す。
まぁ。

・楽しく生きる。
Yes.

・スケジュールしっかり決める。
あのさぁ。

・期限を守る。
はい


こんなかんじです。あと6ヶ月くらい。ガンバリマス。

SRM 580 Div1

久々のおするめだった。
この記事のタイトルを書く時初めDiv2と書いたのはいうまでもない。
いい加減Div1で生きていけるようになります。

easyしか解けないし、早く解けないので、Div1easy埋めというものをやってみようと思いましたまる

easyうなぎを捕まえるうさぎのお話でした。
うなぎとうさぎって似てますね()

#define reps(i,f,n) for(int i = f; i < int(n); i++)
#define rep(i,n) reps(i,0,n)
class EelAndRabbit {
	public:
	int getmax(vector <int> l, vector <int> t){
		int ans = 0;
		vector<int> times;
		int n = l.size();
		rep(i,n){
			times.push_back(t[i]);
			times.push_back(t[i]+l[i]);
		}
		
		if(n < 3){
			return n;
		}
		
		
		rep(i,n*2){
			for(int j = i+1; j < n*2; j++){
				int cnt = 0;
				vector<int> TL;
				vector<int> T;
				
				rep(k,times.size()){
					TL.push_back(l[k] + t[k]);
					T.push_back(t[k]);
				}
				rep(k,n){
					if(T[k] <= times[i] && times[i] <= TL[k]){
						cnt++;
						TL[k] = -1;
					}
					
					if(T[k] <= times[j] && times[j] <= TL[k]){
						cnt++;
						TL[k] = -1;
					}
				}
				ans = max(ans, cnt);
			}
		}
		return ans;
	}
};

Topcoder SRM575 Div1

解けた問題:

easy 92.04pt

与えられる数が

・2の偶数乗もしくは偶数

・それ以外

かで場合分けするものでした。

実際にいくつか試してみてそんな法則があったのでそれで行きました。

(証明は頭悪いのでわからない)

コード

#include<iostream>
#include<cstdio>
#include<cmath>
 
#define reps(i,f,n) for(int i = f; i < int(n); i++)
#define rep(i,n) reps(i,0,n)

#define PII pair<int,int>
#define PP pair< int,PII >


using namespace std;

class TheNumberGameDivOne{
    public:
    string find(long long n){
       
        if(n%2) return "Brus";
        unsigned long long x = 2;
       
        for(int i = 1; i < 64; i++){
            if(n==x && i%2)return "Brus";
            x = x<<1;
            cout << x << endl;
        }
       
        return "John";
    }
   
};

・ちゃんとLTする。
高専プロコン最低2部門入賞。
・合宿する。
・講義する。
・競技強くなる(TopcoderDiv1行く)。
・開発強くなる。
・プレゼン強くなる。
・英語の勉強する。
・部長の仕事する。
・ゲームを最低1つは作る。
・コーディング規約を守る
・数学の勉強する。
・留年しない。
・コンテスト開く(部内で2回)。
・人を煽りすぎないようにする。
・時間を有効に使う。
デスマーチをしない。
・いろんな人とコミュニケーションをとる。
・積極的に人と話す。
・楽しく生きる。
・スケジュールしっかり決める。
・期限を守る。

2012予選

チーム「シナジーを感じるね…」で @HETARE09 さんと参加してました。


結果は
ooxoo-o---
6WAくらいしましたね(白目
16:00の途中経過で24位くらいにいた気がします。(白目

時系列に並べて書きます。
ソースコードは最後に全部載せておきます。

問1
全部足すだけ。
ぐるぐるぽん。
AC

問2
HETAREさんがといたので問題見てない()
AC

問3
僕がとりかかるも
WA

問4
HETAREさんが解く
全部6174になるとかすごい。
AC

問3
僕がまたやってけど
WA

問6をHETAREさんがコーディングしてた。
その横で問3諦めて問5を解き始める。
どう考えても問3<問5だった。

変わってもらう。

問5
パイプの合計の長さを出す。
ジョイントを大きいのから一個ずつ使って、比べる。
WAした。

HETAREさんに問6をコーディングしてもらおうとする。

問5
デバッグ消してなかったことに気づいてちょっとだけ変わってもらう
WA (◞‸◟)

HETAREさんに問6をコーディングしてもらおうとする。

問5
出力を%lldではなく%dにしていたことに気づく。
AC

HETAREさんとコーディングかわる。

HETAREさんがマヤと戦ってる間、問7考える。

代わってもらう。
問7
問題文読み間違えてて、ゴールしたらOKだと錯覚。
コーディングを代わってもらう。
HETAREさんがマヤと戦ってるのを見ながら
問7考える。
問題文の誤読に気づく。
考える。
わからない。
適当にコードかこうと、HETAREさんに代わってもらう。

問7でWAくらう。
HETAREさんと一緒に問7考える。

HETAREさんにコード書いてもらう。
サンプルあったのでなげる。

WA

(◞‸◟)
あと1時間
(◞‸◟)


問7でぐるぐるまわしたら解けそうだったのでコード書く。
サンプルあう。
なげる。
ACする→二人で歓喜する

問3解けない。

問3解けない。

最後らへんでHETAREさんから言われたことを僕が書こうとして死

残り1分でHETAREさんに任せるというムチャぶり(ごめんなさい。

まぁ間に合わないよね(´・ω・`)

終わる。\(^o^)/

こんな感じだった気がする。

反省とかどう考えても僕が時間取り過ぎてて、HETAREさんに十分な時間を渡せなかった。申し訳ない。
ペアプロの練習をしよう。と思った。

以下コード。
奇数番のコード汚い。
問1

#include <cstdio>
#include <string>
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>

using namespace std;

int main(){
	
	int a[10]; 
	int t = 0;
	for(int i = 0; i < 10; i++){
		scanf("%d", &a[i]);
		t+=a[i];
	}
	
	printf("%d\n", t);
	return 0;
}

問2

#include <cstdio>
#include <string>
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>

using namespace std;

int main(){
	
	int a, b, c;
	scanf("%d%d%d", &a, &b, &c);
	if(a == 1 && b == 0 && c == 0) printf("Close\n");
	else if(a == 1 && b == 0 && c == 0) printf("Close\n");
	else if(a == 0 && b == 1 && c == 0) printf("Close\n");
	else if(a == 0 && b == 0 && c == 0) printf("Close\n");
	else if(a == 1 && b == 1 && c == 0) printf("Open\n");
	else if(a == 0 && b == 0 && c == 1) printf("Open\n");
	
	
	return 0;
}

問4

#include <cstdio>
#include <string>
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <functional>

using namespace std;

int toint(string s){
	int res = 0;
	int r = 1;
	for(int i = s.length()-1; i >= 0; i--){
		res += (s[i]-'0')*r;
		r *= 10;
	}
	return res;
}
string tostr(int n){
	string res = "";
	int i = 0;
	while(i < 4){
		res += (n%10)+'0';
		n/=10;
		i++;
	}
	reverse(res.begin(), res.end());
	return res;
}

int main(void){
	while(1){
		string n;
		cin >> n;
		if(n == "0000") break;
		bool f = true;
		for(int i = 0; i < n.length(); i++){
			if(n[i] != n[0]) f = false;
		}
		if(f){
			printf("NA\n");
			continue;
		}
		int ans = 0;
		while(n != "6174"){
			string s1 = n, s2 = n;
			sort(s2.begin(), s2.end());
			sort(s1.begin(), s1.end(), greater<int>());
			n = tostr(toint(s1)-toint(s2));
			ans++;
		}
		printf("%d\n", ans);
	}
	
	
	return 0;
}

問5

#include <cstdio>
#include <string>
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <functional>

using namespace std;

vector<int> p;

int main(void){

	int n;
	int temp;
	long long t=0;
	while(scanf("%d", &n), n!=0){
		for(int i = 0; i < n; i++){
			scanf("%d", &temp);
			t+=temp;
		}
	
		for(int i = 0; i < n-1; i++){
			scanf("%d", &temp);
			p.push_back(temp);
		}
	
		sort(p.begin(), p.end());
		reverse(p.begin(),p.end());
		for(int i = 0; i < n ;i++)cout << p[i] << endl;
	
		long long ans = n*t;
		int k = 0;
	
		for(int i = 0; i < n; i++){
			k+=p[i];
			ans = max(ans, (t+k)*(n-i-1));
		}
	
		printf("%d", ans);
		p.clear();
	}

	return 0;
}

問7

#include <cstdio>
#include <string>
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
#include <functional>

using namespace std;

int memo[256][256] = {0};


int main(void){
	int max;
	
	while(scanf("%d", &max), max!=0){
		queue<int> q;
		
		int n;
		int cell[256] = {0};
		int visit[256] = {0};
		
		for(int i = 0; i < 256; i++)for(int j = 0; j < 256; j++)memo[i][j] = 0;
		scanf("%d", &n);
		
		for(int i = 0; i < n; i++){
			scanf("%d", &cell[i+1]);
		}
		
		q.push(0);
		visit[0] = 1;
		
		while(!q.empty()){
			int nowp = q.front(), nextp;

			q.pop();
			for(int i = 1; i <= max; i++){
				nextp = nowp + i+ cell[nowp+i];
				if(nextp>=n+1)nextp = n+1;
				if(nextp<0)nextp = 0;
				
				memo[nextp][nowp] = 1;
				if(visit[nextp])continue;
				q.push(nextp);
				visit[nextp] = 1;
			}
		}
		
		for(int i = 0; i < 256; i++){visit[i] = 0;}
		visit[n+1] = 1;
		/*
		for(int i = 0; i < 10; i++){
			for(int j = 0; j < 10; j++){
				printf("%d ", memo[i][j]);
			}puts("");
		}
		*/
		
		for(int i = 0; i < 256; i++){
			if(memo[n+1][i] == 1){
				q.push(i);
				memo[n+1][i] = 0;
			}
		}
		
		while(!q.empty()){
			int p = q.front();q.pop();
			
			for(int i = 0; i < 256; i++){
				if(memo[p][i] == 1){
					if(visit[i] == 0){
						q.push(i);
						visit[i] = 1;
					}
					memo[p][i] = 0;
				}
			}
		}
		int ans = 0;
		for(int i = 0; i < 256; i++){
			for(int j = 0; j < 256; j++){
				if(memo[i][j] == 1){
					ans = 1;
				}
			}
		}
		
		if(ans){
			puts("NG");
		}else {
			puts("OK");
		}
		
	}
	
	return 0;
}