NF

地方で働くプログラマ

AtCoder Beginner Contest 126

atcoder.jp

という訳で参加しました。
ABCは通して2700位強。D,E,Fは問題理解までいかなかった。木とかグラフとかそもそも用語知らないと着手ができなかった(一応ぐぐったけど理解間に合わず)。あとCは文字列→数値という基本的な部分で手間取ったのと、出力桁数合わせる事を失念して時間かかった。

解説PDF見たけど簡潔過ぎて意味わからなかった。これ誰向けなんだろう…
YouTubeでも解説動画があるぽいので、後で見よう。順位表みると、1550位くらいから上はABDまたはABEを解けてる人で、1500位より上がABCD解けてる人ですね。
あと何か今回Unratedというトラブルでランキングに反映しない判断がされたらしく、自分のポイントは0のままですね。自分は参加が目的だから気にしないのだけど。まぁ次があればまたやりたいです。


ただ、先日の日記のもそうだけど、もう少し初心者向けの解説とかがあると良いなぁと思った。ツイッターとかで依頼してみればいいのかな…

ABC083B - Some Sums 不正解

AtCoder Beginners Selectionの「ABC083B - Some Sums」がAC(正解)にならない件。サンプルの3ケースは問題なくて、02.txtのケースだけがWA(不正解)になる。当たり前だけどケースの内容が分からないので不合格の理由が分からず。Beginners Selectionだしケース公開して欲しかったり。

私は以下に示す通り力技でやりましたが、シフトを使って解くのが一般的だし速いようです。一応シフトの方法は理解できたんですが、元の解法がダメな理由が分からないのでスッキリしないな…

*WAになる提出コード

#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;
 
int main()
{
    int n,a,b;
    int cnt = 0;
    cin >> n >> a >> b;
    for(int i=0; i<=n; i++){
        int sum = 0;
        std::string str = std::to_string(i);
        for(int i=0; i<str.length(); i++){
            char c = str[i];
            sum += atoi(&c);
        }
        if(sum >= a && sum <= b){
            cnt += i;
        }
    }
    cout << cnt << endl;
    return 0;
}


(2019/8/14追記)

思い出してやってみたらこれで行けた。(sum変数の意味変わってるけど)
atoi使うかしか変わってないけど何で前のコードダメなんだろう。ちなみに、前のコードが内側のループ添え字が間違ってる事に気づいたが、コンパイラが上手く処理してくれるので結果は同じでした。境界値も幾つか試したけど分からず。
まぁ正解コードがあるので、後で条件全部突っ込んでみよう。

#include <iostream>
using namespace std;
int main(){
    int n,a,b;
    cin >> n >> a >> b;
    int sum = 0;
    for(int i=1; i<=n; i++){
        std::string str = std::to_string(i);
        int tmp = 0;
        for(int j=0; j<str.length(); j++){
            tmp += int(char(str[j]) - '0');
        }
        if(tmp >= a && tmp <= b){
            sum += i;
        }
    }
    cout << sum << endl;
    return 0;
}


(2019/8/14再追記)

いやダメだ。N=48,A=1,B=1で先のコードがNGだったけど、cout入れると結果正常になるので、メモリ破壊系だろうか…。だとしたら多分、下の部分が良くない気がする。ちなみにNの試行を1から始めるかどうかでも結果は変わった。現状の家の環境(オンラインコンパイラのみ)だとこれ以上は調べられなそう。今後会社に持ってってデバッガかけてみます。

            char c = str[i];
            sum += atoi(&c);

声優イベント他更新(2019/5月後半〜)


すみぺFC当選、単独は久々。結構落ちてる人居るようです。犬フェス2は激戦になるのかな?絶対見たいのはRhodanthe*なんだけど、一応両方申込みます。奈央ちゃんと、わたてん5はちょっと見たい。

*購入予定

*イベント

イベントない土日

いや毎週イベント行ってる訳でも全然ないんですが、今週は色々申し込んでただけに全滅して凹んでますね。今日は唯ちゃん公録、明日は唯ちゃん写真集サイン会、すみぺのお渡し会…などなど。ブログとかが上がると思うので、あとでまとめて載せよう…

そして日記が速攻で途絶えました。木曜は体調悪くて早めに帰ったけど速攻寝て、金曜は残業。今日は昼置きでぼっーっとラジオとか聞いてから、野暮用で新橋へ。用事は5分で終了し、有楽町までを徒歩で往復したりしてから岡むら屋で夕飯。年に何回か寄るんですが、大根が好きなので追加します。


そんな感じで今。
今期はアニメも見てないので、何か息抜きが少ないな。その分ぼっーとふたば見てるだけの気もするので、ちょっと今から運動してこよう。
明日は9時からえーてぃーこーだーに参加すること。取り合えず練習で数問解いてみたので、勝手は分かりました。

そういえば、プチミレの活動復帰のニュースが全然来ないな…碧ちゃんはソロ活動が忙しくなってきたし、あやちも6月まではツアーだし、しばらくはないかなー

Change my Style

www.nicovideo.jp

先月末のKOTOKOさんのライブで相当聞きたかった曲が聞けたけど、そういえば「Change My Style~あなた好みの私に~」がまだ聞けてないな。昔のライブはダンサーさんが居たのか…

あと、「姉、ちゃんとしようよっ! 」という単語を久々に聞いた。


昨日の日記の続きが全然できてないです。ちょっと仕事が詰められてて色々できないよ。夕飯はカルビマックでした。帰って風呂入って今この時間です。

AtCoder

atcoder.jp

やってみるか…
AtCoder Beginner Contest 126
今週末にも「Beginner Contest」とかいうのがあるぽいので、参加してみよう。常設で「AtCoder Beginners Selection」というのもあるので練習しておくこと。

開発環境は、最近はオンラインでビルドできるサイトが色々あるのでそれ使おう。今のPCになってからSPEC低すぎてVirtualBoxがまともに動かないので…
http://www.tutorialspoint.com/compile_c_online.php
https://wandbox.org/

ただ少し動かして分かった事は、実行時間かメモリ使用量で打ち切られてるぽい。ちゃんと調べてないけど、重いプログラム動かしたら実行結果出ないな。力業で問題解こうとしたときに障害になりそうです。

下のサイトを参考に、幾つか試してみて使いやすいサイトを探そう。
オンラインでプログラミングして実行できるサイト

時事ネタ

Bと思ったらDが多数派で意外でした。自分は国語苦手マンなので自分の回答には全く自身ないので、国語的に正解はどっちか、正否はともかくDと思う人はなぜなのか、そもそも自分がB選んだ根拠は…とか色々考えましたが、大体はすっきりしました。まとめとか見てると何か荒れてて残念な気持ちになりますが。。

国語辞典の編集者の方が下のようなコメントしてるので、現時点では国語的にBで正しいようです。飯間さんのツリーは色々参考になりますね。逆に専門分野の人がDを推してるとか、どっちでも取れるとかのコメントは見当たらないな…

AtCoderの人もコメントしていた。


====
最近交通事故が多発してるようです。
高齢者ばかりかっていうとそうではなく。大津の事故は過失ありと言われてる右折側の人が52歳(直進してた人が62歳)らしいし、一昨日の愛知の事故は29歳だし。

あと大津の事故でいうと、「右折と直進なんて直進が優先に決まってる!免許持ってない私でも分かる」みたいなコメントもちょくちょく見るんですが、ペーパードライバーの自分から言えば、そもそも右折って難しいと思う。時速数十kmの直進車の合間を縫って右折しないとならないし、ベテラン達の行けそうな隙間で行けなかったらクラクション鳴らされるし、それで一瞬の判断間違ったら死亡事故発生とか、何かシステム的に問題ある気がする。まぁ大津の事故の容疑者は本当に全く前見ずに右折したのかもしれないけど。。

自分はそういう自覚あるので原則車乗らないけど、一エンジニアとしては、社会というかシステム的にこういう事故はガードすべきでは…と思う。


====
少し前に、NHKであのWinnyの故・金子勇氏を取り上げてたらしい。関連記事も。
「平成の敗北」と重なるウィニー開発者 金子勇氏の悲劇
日本が失った天才、金子勇の光と影(少し前だけど)
全体的に金子氏側に寄りすぎてる気がしてもやもやした。包丁の例え、「"一部のユーザーが"Winnyを違法利用」(一部?)、警察のせいで改良できなかった、等々、当時ネットを見てた自分からはちょっと違和感がアリアリでした。個人的にはスラドのコメントや、この方たちの意見が近い感じかな。(他にも似たようなコメントの人多くて少し安心しましたが)

金子氏が技術的にとんでもない凄い人なので亡くなったのは本当に残念というのはあるのだけど、当時から両論あったと思うので、ちょっと歴史修正に感じる。


====
Red Hat Enterprise Linux 8リリース
この辺調べること
・Universal Base ImageとCentOS
・Network ScrpitsからNetworkManagerへの完全移行
・Ansible Automation