マルチメディア研究部

マルチメディア研究部

マルチメディア研究部の非公式サイトです

AtCoder Beginner Contest098に参加しました

AtCoder Beginner Contestとは?

こんにちはstです。

AtCoder Beginner Contestは、AtCoderで開催されている初心者向けのプログラミングコンテストです。

競技プログラミングと呼ばれている形のコンテストですね。

このコンテストに部員は毎週参加しています。

私はC問題までしかできませんでしたが、D問題を解いている人もいました。すごい。

できなかったなりに解説をしてみようと思います。
(言語はC++になります)

解法

A問題

A+B、A-B、A*Bの最大値を求める問題です。

if文を書いてもいいんですが、std::max()を使えばスマートに書くことができます。

ただ、3つ以上の最大値をとるときには中に{}をいれなくてはならないので注意が必要です。

こんな感じですね。

cout<<max({A+B,A-B,A*B})<<endl;

ここまで2分ですね。

B問題

すみません。

多分2重ループか3重ループなんでしょうが、脳死していたためsetとsetの二刀流で解きました。

setを使うとすると、

まず、文字列を前から見ていきます。

0から現在いる文字列の添え字(例えばi)までの各文字をset(ここではs1とする)にぶち込み(insert)、重複除去します。

現在いる文字列の添え字(例えばi)から文字列の最後までループを回し、s1.find()でs1に入っているか調べ、あったら新しいset(s2とする)にそれをinsertします。

最後のs2のsizeの最大値をとっておわり。

汚いですが一応載せときます。

for(int i=0;i<S.size()-1;i++){
	set<char> s1,s2;
	for(int j=0;j<=i;j++){
		s1.insert(S[j]);
	}
	for(int j=i+1;j<=S.size();j++){
		if(s1.find(S[j])!=s1.end()){
			s2.insert(S[j]);
		}
	}
	if(s2.size()>max){
		max=s2.size();
	}
}

ここまで8分です(遅い

C問題

これですよ。

死んだの。

気づくまで40分かかった。

  1. Eの数を数える(変数cntに保存)
  2. 文字列Sを見ていって、S[i]=='E'ならcntを1減らし、S[i-1]=='W'なら1を足す。
  3. cntの最大になるときの値が答え。

雑ですみません。

D問題

解けず

感想

レートは上がりましたが、見直すところが多かったですね。
(特にset乱用が癖になってる)

こんにちは

ドメインが失効してしまったトホホな話

初めまして、中学部長のstです。

昔むかし、東京都市大学付属中学校・高等学校マルチメディア研究部のWordPressの公式ホームページがありました。

しかし、管理者がいなくてもうドメイン失効させてもいいよね~ってことでドメインが失効。

ここにマル研のホームページは消えてしまった。

でも、なんか日々の活動を紹介するページが欲しいな~ってことでこれをつくりました。

ここで部活動の公開なんかをやっていきたいと思います。

ただ、あらかじめ言っておきますと

  • 書いている人は全くプロではない。
  • 素人
  • 公式が復活したら消えるかもしれない

まあそれでも初心者さんとかの手助けになったり、マルチメディア研究部に少しでも興味をもっていただけたらなと思います。

どうぞよろしくお願いします。

マルチメディア研究部について

活動

プログラミングをはじめ、LEGO、音楽制作、画像制作、3DCGなど、コンピュータを使ってさまざまなことをして日々活動しています。

柏苑祭に向けてゲームやLEGOの作品の展示が主な目標です。
また、プログラミング班はJOI(情報オリンピック)やPCK(パソコン甲子園)の参加、LEGO班はWROの参加などもしています。

f:id:marukenclub:20180602171614p:plain

f:id:marukenclub:20180602171623j:plain

プログラミング班

主にC言語C++を使ってゲームを制作したり、VisualBasicで便利ツールを作っています。

また、最近は競技プログラミングにハマる人が増えてJOIやPCKで良い成績を出すためにAtCoderなどのサイトで問題を解く人もいます。

柏苑祭では部員の作ったゲームを展示しています。

部員の作品は作品のページで公開しているので参考にしてみてください。

また、Web班も存在し、ホームページの制作も行っています。

LEGO

主にLEGOブロックとプログラミングを使って作品を作っています。

WROなどの大会に向けて日々奮闘しています。

柏苑祭ではロボットの展示をします。

音楽班

DTMなどのソフトを使って音楽を制作しています。

映像班

MMDやAfferEffectsなどを使って映像を作っています。

2017年の柏苑祭ではポリッドスクリーンを展示しました。

イラスト班

ペンタブレット等を用いて絵を描いています。

ホーム

東京都市大学付属中学校・高等学校マルチメディア研究部の非公式ホームページです。

公式の方はWordPressですが、ドメインが失効しているため、こちらを利用させていただいています。

大会での成績の公表や、部活動の公開、データ配布などを行っています。

f:id:marukenclub:20180602165446j:plain

f:id:marukenclub:20180602165459j:plain