2015年9月13日日曜日

CodeIQ のコンテストやったよ。あとQTableViewの続き書いたよ。

有言実行はできないとかっこ悪いので、なるべく無言実行(事後報告)の SakuraCrowd です。
こんばんわ(´#)・ω・`)

今日は CodeIQ の第1回コンテストの締め切りなので、朝からやってました。

どうせやるなら100位以内に自分の名前をいれたいです!(`・ω・´)シャキーン
そこで昨日、挑戦前の説明を呼んだり、ランキングを見て作戦をたてました。

今回のランキングのソート順は、達成率>挑戦回数>作業時間になっています。
処理時間は、遅すぎれば失敗になるかもしれませんが、ランキングには影響しないようです。
あまり時間は意識せず失敗回数を抑えることが重要です。

設問は4つあります。
ランキングを見ると達成率は ALL 100 が当たり前でした。
そして挑戦回数も、ノーミスの4回から1回ミスした5回までの人たちでしめられています。

絶対にミスれない戦いがそこにある!!!(; ・`д・´)…ゴクリ…(`・д´・ ;)
そんな感じです。

ミスれない戦いの結果(; ・`д・´)

結果として19時ころの暫定ランクは


あなたのランキング/得点
ランキング: 現在150位( 628人中)
総合得点: 400
総挑戦回数: 6
合計解答時間: 4:16:58

こんな感じになりました。(´#)・ω・`)2カイミスッタゼ

犬ときじはノーミスでいけたのですが、サルと鬼の問題で1回ずつミスりました。

サルの問題では、複数のネストなのに break を1回しかしていないせいで、ループを脱出失敗してました。
break じゃなくて goto でどーんと exit: ラベルまで飛んでればこのミスは防げたと思います。
はからずも、最近ツイッターで goto もいいよねという話に混ぜさせてもらったばかりだったことを思い出しました。

鬼の問題では、最大値をきちんと確認しないせいで失敗しました。a と b の2変数のループをそれぞれ大きな値からやっていったら最初に見つかった値が最大値だろうと思っていましたが、必ずしもそうはなりません。
例題2個がOKだったので、大丈夫かもと思ってしまいました。(´・ω・`)

このどちらも、例題ではクリアしていて、テストケースの後半で失敗という形でした。
#もっと例題がほしかったよ。゚(゚´Д`゚)゚。

サルの問題については自分で例題を作れるので、
テストケースを増やせばよかったと思います。

鬼の問題は、テストケースを作る方法がわからないのですが、処理速度を気にしすぎ、演算回数を減らしすぎたのがいけなかったと思います。
せっかく CodeIQ 実行くんという実行環境が提供されているので、
遅くてもより確実なものから試していけばよいと思いました。

ランキングには入れませんでしたが
Python 中級と C++ 上級のスキルピースというものがもらえたのでよかったと思います。(´・ω・`)v
なんか、こういう認定証ってうれしいですよね。

競技プログラミングは難しそうなので敬遠していましたが、もっと上達してランキングに入れるようになりたいです。

QTableView の列と行の追加と削除


先週ブログで QTableView の使い方の続きをかくと言ってしまったので、ちょろっと書いておきます。
QTableView の見た目は、
セットしたモデルのデータを変更しただけでは更新されません。

モデルのデータを追加・削除し、
QTableView の beginResetModel() と endResetModel() 
を呼び出すことで行と列の表示が更新されます。

よし、これで有言実行したぞ╭( ・ㅂ・)و ̑̑ グッ


0 件のコメント:

コメントを投稿