gotutiyan’s blog

競技プログラミングをやったりopenframeworksでお絵かきをしたりしています。

AOJ-ICPC 「かけざん」

問題 Kakezan | Aizu Online Judge解説 値は文字列で管理するのが良いですね。 文字列長より1少ない数だけforを回して、文字列をstring::substr(開始位置, 何文字切り抜くか)で分割の仕方を全探索し、結果が最大になったものを次に持ち越す感じです。文字列…

ACM-ICPC 「ICPCの順位づけ」 解説

問題 ICPC Ranking | Aizu Online Judge解説 少し考えることが多いのですが、とりあえず ・tim: 各チームの所要時間を格納する1次元int配列 ・solve :各チームの各問題の解けたかどうかを格納する2次元bool配列 →solve[チーム番号][問題番号]=true or fals…

ACM-ICPC 「ICPC Score Totalizer Software」 解説

問題 ICPC Score Totalizer Software | Aizu Online Judge n個の数字が入力されるので、その中から最大値と最小値を除いたものの中での平均を求めよう。解説 n個の整数を全て足し合わせたsum、最小値を格納するmi、最大値を格納するmaを用意し、処理をします…

AOJ Numeral System 解説

問題 Numeral System | Aizu Online Judge解説方針としては、文字列を読み込んで、数字に直し、足し算した後で再びMCXI文字列に直します。まずは、読み込んだ文字列をどう処理するかを考えます。 まず、1000,100,10,1の時は、m,c,x,i の文字が単体で置かれま…

AOJ Amida, the City of Miracle 解説

問題 Amida, the City of Miracle | Aizu Online Judge 解説 あみだくじの問題です。 あみだくじ系の問題では、最初、i番目には番号iが繋がっていますが、横棒が追加されるたびに繋がる先が入れ替わると考えることができます。例えば最初、縦棒1 2 3 4 5には…

AOJ 列車の編成パート(Organize Your Train part II) 解説

問題 Organize Your Train part II | Aizu Online Judge 解説 文字列を2分割した後は以下の操作ができます。以下、分割した後の2つの文字列をA,Bとおきます。・A,Bはそれぞれ反転できる。 ・文字列を AB 、またはBA のどちらの順でも連結できる。これ以外…

AOJ 宇宙ヤシガニ(Space Coconut Grab) 解説

問題 Space Coconut Grab | Aizu Online Judge 解説 3つの変数をループで回して全探索すると、O(10^9)となってTLEします。 しかし、x+y*y+z*z*z=eになることから、y,zが分かればxが分かります。よってy,zを2重ループで回して、残りのxをx = e- y*y - z*z*z…

集中レーザー

レーザーが集中しているので。(最近良い題名が思いつきませんね)集中レーザー良いですね#openframeworksコードの解説は以下から。https://t.co/VYQcexZGFS pic.twitter.com/53C5pIEIGy— string s="ごつちやん"; (@gotutiyan_kapi) 2018年4月17日今回からコ…

AOJ 0055 Sequence

AOJ

問題 数列の和 | Aizu Online Judge 解説 いくつデータが来るかわからないのでwhile(cin>>)を使って読める分だけ読みます。 最初に解答変数ansに初項nを代入しておきます。これで後は残りの9項を足せば良いので、forを9回回し、ループ変数の偶奇で2で割る…

AOJ 0049 Blood Groups

AOJ

問題 血液型の分類 | Aizu Online Judge 各血液型の人数を数える問題です。解説 入力には生徒の番号と謎のカンマが入っていますが、これらは問題を解く上では関係ありません。 数えるための配列を作って、v[0]~v[3]までをA,B,AB,O型のように、出力する順番で…

くるりんくるりん

円周上を回る円の円周上を回る円の円周上の・・・ 完成形をぐっと想像したら、再帰関数をやればできそうな気がしたので書いたらできました。くるりんくるりん円周上を回る円の円周上を回る円の・・・。僕はこんなの大好きです#openframeworksコードと説明は…

収縮リング

円周上に配置された四角が収縮します。題名は普通に。収縮リング中央で重なるたびに個数が変わるなどします#openframeworksコードとその解説は以下から。https://t.co/1kFsUch2L5 pic.twitter.com/nLiPZXD3T6— string s="ごつちやん"; (@gotutiyan_kapi) 201…

2種リング

今まで円の描画はofDrawCircleを使って行っていましたが、この方法では「1つの円の中で複数の色を使う」ことができないので、ほかの方法で円を書いてみることにしました。 色の変わる方向を交互にしたのでこの題名に。2種リングクリックしたら色変わります…

儚さ

四角をたくさん書いて、大きくしたり小さくしたりしています。色は小さくなる度にランダムで変わり、良い感じの色になってもすぐに変わってしまう様子が儚かったのでこの題名に。儚さ良い感じの色ができてもすぐに変わってしまう様子からこの題名に。四角の…

gotutiyan.io

agar.ioというゲームを思い出して作ったのでこの題名に。gotutiyan. iohttps://t.co/IxJ9iMD39eというサイトのゲームを思い出して。コードは以下の記事から。https://t.co/oj53Gj9Xgb#openframeworks pic.twitter.com/UErS1r2UZJ— ごつちやん (@gotutiyan_ka…

紙吹雪

久々の投稿になります。 クリックすればするほど色とりどりの四角が現れます。動く様子が紙吹雪に見えることからこの題名に。紙吹雪クリックする位置によって違う場所に四角が現れます。一瞬揃うところも良いですねえ。コードは以下のページから。https://t.…

yukicoder No.544 Delete 7

問題 No.544 Delete 7 - yukicoder 7を含んだ整数である入力を、7を使わない2つの整数の和で表してください。解説 整数の桁を見ていって、7であれば3と4に分解することを考えます。7でなければ、そのまま使います。具体的には、 1273=(1233,40) 、 27…

yokicoder No.668 6.0*10^23

問題 No.668 6.0*10^23 - yukicoder 入力の数字をアボガトロ数っぽく書き換えます。解説まずは文字列の先頭2文字を引っ張り出して数字に変換します。[a.b*10^c]の形におけるa,bの部分では、四捨五入の対象である入力の先頭2文字しか関係ないからです。次に…

yukicoder N0.667 Mice's Luck(ネズミ達の運)

問題 No.667 Mice's Luck(ネズミ達の運) - yukicoder解説 #247274 No.667 Mice's Luck(ネズミ達の運) - yukicoder i番目のネズミに関する確率は、入力文字列のi番目以降における 100*(o の数)/ (xの数+oの数) で求められます。最初にo,xの数をそれぞれ数…

多重螺旋

螺旋階段が何重にもなっている印象を受けたのでこの題名に。 本当は別のイメージで作成していましたが、思いがけず良い感じになったので採用。多重螺旋四角をたくさん書きます。これで7作品目、1週間続いたね!やったねhttps://t.co/bNMO1iCOOl#openframew…

個性

全ての球が自分勝手に動いている印象があったのでこの題名に。 ofSpherePrimitiveを含んだクラスを複製して、5*5に並べてから、それぞれをz軸方向に三角関数で動かしています。それぞれの球は回っていて、回転速度がsinのラジアンになっているため、回転…

細胞

この作品を横で見ていた友人が「細胞みたいやな」と言うのでこの題名に。ofSphere(Box)PrimitiveとEasyCamの練習が主な目的でした。細胞sphereprimitiveやeasy cam の練習です。ずっと見てられる感じがある。https://t.co/7grAwsj9i4#openframeworks pic.twi…

カラフル。

とりあえず見た目がカラフルで、描く図形は円だったので、円の要素を句読点で表現してこの題名に。 動的配列であるvectorを使ってやりたいなあと思ったので、クリックで円の個数が変わるものを作りました。画面の上半分をクリックで円の個数が減り、下半分を…

シェルター

四角をたくさん書いて、色を滑らかに変えようと思っていたら、すごくメリハリがついて、濃い赤の枠のシェルターが開いて、中から出てくるような感じになったのでこの題名に。 クリックをするとシェルターがシャッと開いてまた閉じます。「シェルター」クリッ…

硯を求めて

ofNoiseを使ってノイズを使おうとして、以下のサイトを見ていたところ良さげな模様を作ってらっしゃったので手元で再現することにしました。 naoyashiga.hatenablog.com動いてるところは以下のツイートで。「硯を求めて」今回は結構気に入ったので、記事の方…

モノクロストライプ

ランダムを試したかったので、細長い四角を並べて適当にやると、偶然うまく斜めの段差が現れたので採用。 妙なオシャレさはあると感じました・・モノクロストライプhttps://t.co/mxn80rHi6pランダムを試したかったので pic.twitter.com/DK3I0DlsWg— ごつちや…

openframeworksを試し書き「回転四角」

openframeworksの名前は知っていたが、よく見たら僕の大好きなC++で書くものらしかったので試し書き。回転四角ソースコードははてなブログに貼っとけば良いかなhttps://t.co/vLa6yceNwN#openframeworks pic.twitter.com/6Ggh5CcMP9— ごつちやん (@gotutiya…

AGC006 A Prefix and Suffix 解説

・問題 A - Prefix and Suffix内容は問題文の通り。・解説 s,tの文字列の長さは共にNで共通である。題意を満たすには、文字列sの後ろの部分文字列と、文字列tの前の部分文字列がどの程度被るかを調べればいい。1つ目のテストケースで例えれば、1回目 s: ○○…

CodeForces 4A Watermelon 解説

・問題 Problem - A - Codeforcesメロンの重量が与えられるので、これを半分に切り分けるとき、分けた後の重量が偶数になるかどうか判定しよう。・解説 重量が偶数なら、半分に分けても重量は偶数になる。ただし、重量=2の時だけは半分に分けると1になっ…

CodeForces 266A Stones on the Table 解説

・問題 Problem - 266A - CodeforcesR,G,Bの3色の石が一列に並んで居るので、これを同じ色が隣合わないようにする時、取る必要がある石の最小値を求めよう。・解説 色が隣合わないようにするので、隣り合っていれば取って行けば良い。 文字列を前から見なが…