C++ の動作確認をしてみた(5)

C++の練習を兼ねて, AtCoder Beginner Contest 105 の 問題D(Candy Distribution)を解いてみた.

■感想.
① C++ 連想配列クラス(std::map) の 使い方を練習出来て良かったと思う.
② 連想配列クラスから, 値を取り出してくる場合, イテレータを使うのが良いらしい.
③ 余りゼロのケースは, 初めから, カウントアップしておく点に注意が必要.
④ 最大, 48[ms] かかっているテストケースがあったので, 改善の余地が, たくさんありそう.


本家のサイトABC 105 解説をご覧下さい。


■C++版プログラム

■参照サイト
AtCoder Beginner Contest 105
C++ 連想配列クラス std::map 入門

C++ の動作確認をしてみた(4)

C++の練習を兼ねて, AtCoder Beginner Contest 105 の 問題C(C – Base -2 Number)を解いてみた.


① 制限時間内に, 解答できず終了.
② 公開されている解答を見たものの, 理解不能.
③ 結局, 試行錯誤して, ロジックを積み上げたところ, どうやらテストケースは, 全通過した模様(汗).
④ おそらく, もっと簡単なロジックがあると想定されるので, 後日, 他の方の解答を拝見しようと思う.



本家のサイトABC 105 解説をご覧下さい。


■C++版プログラム

■参照サイト
AtCoder Beginner Contest 105

C++ の動作確認をしてみた(3)

C++の練習を兼ねて, AtCoder Beginner Contest 090 の 問題C(Flip,Flip, and Flip……)を解いてみた.


最初, if文で, 1行×1列の場合, 2行×M列の場合, N行×2列の場合, … などと試行錯誤していたが, 絶対値を使ってみると,
全ての条件が, 一つの式で表せることが確認できたので, 見た目が, だいぶスリムになったと思う.
かなり感動したので, 投稿することになってしまった(汗).



本家のサイトABC 090/ARC 091 解説をご覧下さい。


■C++版プログラム

■参照サイト
AtCoder Beginner Contest 090

C++ の動作確認をしてみた(2)

C言語で書かれたプログラムを, C++に書き換えてみた.


題材として、AtCoder Beginner Contest 089 の 問題D(Practical Skill Test)を使ってみることにした。

但し、解答方針に関する理解は、まだまだ、出来てないように思うので(汗)、
C言語 -> C++ に翻訳してみることまでは、出来そうだったので、翻訳してみた。

なお、C言語で書かれたプログラムの詳細については、
本家のサイトABC 089 解説をご覧下さい。


■C++版プログラム

■参照サイト
AtCoder Beginner Contest 089

C++ の動作確認をしてみた(1)

1. 環境は、macOS High Sierra (version: 10.13.4) 上で行った。

2. プログラム記載~実行は、Visual Studio Code で行った。

今回確認した内容は、ロベールのC++教室 の(第1部)第69章 リンケージである。
以下の “動作確認(改善前)” で、対応できなかったのでメモした。

■動作確認(改善前)
Visual Studio Code 上で、動作確認する上で、以下のルールで行ってきた。
1. 標準入力(cin)が有る場合 … ターミナルを使った動作確認
$ g++ -o abc xxx.cpp
$ ./abc

2. 標準入力(cin)が無い場合 … 下記、3種類のキーを同時押しする動作確認
[command]key + [shift]key + [,]key

■対象プログラム

■動作確認(改善前)による実行結果
前述のプログラムを実行した結果、いずれの場合でも、以下のようなエラーが出力された。

〜(略)〜
clang: error: linker command failed with exit code 1 (use -v to see invocation)
〜(略)〜

■動作確認(改善版)
分割コンパイルが必要とのネット上の情報があったので、以下の形で、ターミナル上で対応した。
$ g++ -c 1-69_1.cpp -o 1-69_1.o
$ g++ -c 1-69_2.cpp -o 1-69_2.o
$ g++ -g -o abc 1-69_1.o 1-69_2.o
$ ./abc

■動作確認(改善後)による実行結果
前述のプログラムを実行した結果、以下のように、想定した動作を確認することができた。

■参照サイト
複数の.cppを分割コンパイル

コンパイラ(gccコマンド)の使い方

ターミナルに毎回表示される長ったらしい表示を短くする