CODE FESTIVAL 2018 qual Bに参加しました
またCが解けませんでした・・というか今回Cが500点で結構難しかったですね。自分の順位の少し下を見たら青色コーダーとかbioにUniversity of Tokyoとかいてちょっぴりニヤッとしました(良くない
A:
愚直に1~100までのリストを作り、割り切れる値だけ除外しました。
別にリスト作らなくても100/割る値で良かったんですね・・
https://beta.atcoder.jp/contests/code-festival-2018-qualb/submissions/3405966
B:
顔の面白さb_iが最大の人をトレーニングすれば最大の値になるので、(a_i, b_i)のリストをb_iの大きい順にソートして、先頭のa_iにXだけ足す処理を入れてからa_i * b_iの和を取っています。
https://beta.atcoder.jp/contests/code-festival-2018-qualb/submissions/3405966
C:
何も考えずに配置したら500000とかになって、条件クリアできないですね。いくつか試行錯誤しましたが5x5マスは思いつきませんでした。
UQ mobileの料金プランがわかり辛かったのでグラフにしてみた
先日親がDocomoの料金の高さに辟易したので、先日私がサブで使い始めたUQ mobileを音声通話付き・新規スマホ購入のプランで契約しました。その時のプランが結構わかり辛かったのでグラフにしてみました。
UQ mobileの音声つき通信プランは大きく分けて2種類あります。一つはおしゃべりプラン・ぴったりプランというやつで、家族割で1480円~(2台目以降、1台目なら1980円~)、通話5分までなら何回でも無料(ぴったりプランは60分/月無料)と大きく謳ってるものです。それとは別にデータ高速+音声通話プランという、1680円で通話無料期間なしというのもひっそりと用意されています。
携帯の購入補助が前者にしかつかないので一見すると前者のおしゃべりプラン・ぴったりプランの方が良さげに見えますが・・実は長期間契約しているとデータ高速+音声通話プランの方が大分安上がりになります。
Read moreAtCoder Beginner Contest 112(ABC112)に参加しました
D問題が解けたんだけどTLE食らってた・・他の人の回答見てちょっと直したらTLE解除された・・残念過ぎる。
A:
N = 1なら、"Hello World"を出力して終了。そうでないならA+Bを出力。
https://beta.atcoder.jp/contests/abc112/submissions/3342825
B:
まずt_i < Tであるc_i, t_iをリストに入れて、c_iでソートして一番小さいものを出力。
https://beta.atcoder.jp/contests/abc112/submissions/3345498
C:
問題の意味はわかったけど解き方がさっぱりだったのでスキップ。
D:
2~M / 2のうち、Mの約数(=iとする)でかつM / i が N以上の最大のiを出力すればいい・・のだけど何をトチ狂ったのか下からiを数えていったのでTLEになってしまった。
https://beta.atcoder.jp/contests/abc112/submissions/3353158
iを上から数えて見つかったら切り上げるように書き直したら通った(コンテスト終了後)。しかしそれでも処理時間ギリギリである。
https://beta.atcoder.jp/contests/abc112/submissions/3355718
iPhoneを手に入れた
といってもiPhone7(128GB, SIMフリー,中古)だけど。
新しくスマホ買ったよ!!!@rs_pferd から買った中古のiPhone7 pic.twitter.com/AubsyCc4NM
— しょうゆ@4thday2参加 (@shsub) September 29, 2018
今使ってるnexus5X(ymobile)が16GBしかなく、複数のゲームを入れることもままならなかったので、iPhone7にymobileのSIMを刺して、nexus5xはSIMロック解除して余ってるIIJのSIMでも入れるつもり。
ざっと使ってみた感じ、
- 画面はnexus5の方が大きく、きれいに見える。解像度はどちらも1920x1080。iPhone7は1,334 x 750ですね・・
- 容量が16GB -> 128GBになったのは大きい。
nexus5xのSIMロックを解除しようと思ったけど、割賦を支払いきってなかったので一括で残りを支払う必要がありそうだよ。。大した金額じゃないけど。
AtCoder Beginner Contest 111(ABC111)に参加しました
Cがあとちょっとで解けたのに、残念。
A:
1桁ずつ数値を分解し、1が来たら9を加え、9が来たら1を加えて、それ以外の数値はそのまま加えて出力した・・あれもしかして1と9以外なかった?
https://beta.atcoder.jp/contests/abc111/submissions/3290187
B:
配列に111~999までのゾロ目を入れておいて、小さい方から順に見て入力値を上回ったらその値を出力。
https://beta.atcoder.jp/contests/abc111/submissions/3291386
C:
偶数と奇数に分け、数値の頻度分布を作って、一番大きい値だけ取り除いて残りの頻度の和を取ればよい。
ただし偶数と奇数の最頻値が同じ場合、どちらか一方は二番目に大きい値を取り除く必要がある。
今回時間内では勝手に奇数側だけ二番目を見るようにした(a)ため、テストケースの最後で引っかかってしまっていた。解説見た後偶数側も二番目を見るパターンを作り(b)、(a)と(b)の大小を比較することで通った。
https://beta.atcoder.jp/contests/abc111/submissions/3299748 (不正解)
https://beta.atcoder.jp/contests/abc111/submissions/3302957 (正解)
AtCoder Beginner Contest 110(ABC110)に参加しました
A,B,C完。Dは約数いちいち出してたらダメなのはわかりましたが・・?
A:
2桁 + 1桁の足し算の形になるので、2桁の数値の10の位に一番大きい値を持ってくればよし。
pythonのリストにA, B, Cを格納して、最大の要素をdeleteする形で取り除きました。
https://beta.atcoder.jp/contests/abc110/submissions/3251160
B:
首都も含めたx(とX)の最大値が y(とY)の最小値より少なればOK
・・ということに今更気づきました。
解いたときは愚直にx(とX), y(とY)を全部回して大小比較してました。
https://beta.atcoder.jp/contests/abc110/submissions/3253074
C:
アルファベットの種類を無視して頻度が一緒なら成立します。
なので各文字毎にdefaultdictで個数を数え、valuesだけ取りだしソートして一致判定をしました。
https://beta.atcoder.jp/contests/abc110/submissions/3254915
D:
バカ正直に約数を取りに行ったら、サンプルの段階でTLEしてました。
おそらく素因数分解を使うのでしょうが・・