こんにちは。
表題の問題、教えていただきたいです。
問題のテキストをコピーできないので、リンクを書きます。
http://www.jitec.jp/1_04hanni_sukiru/mondai_kait …
私の理解としては、A、B、Cの順序で入力するとしたら、Cを取り出すために、
1回でできる。Bを取り出すために、C,Bを出力するから、2回。
Aを取り出すために、C,B,Aを出力するから、3回。
ですから、全部で1+2+3=6回と思いますが、
なぜ答えが5回でしょうか。
そもそもこの問題の題意を理解を理解できていないのかな。
お分かりになる方がいらっしゃいましたら、ぜひご教授ください。
よろしくお願いいたします。
No.1
- 回答日時:
ABCの並び方なら3*2*1=6通りですが
挿入3回、取り出し3回の組み合わせですから
また最初は(I)、最後は(O)と決まり
さらに(I)していないのに(O)はできませんから
(I)(I)(I)(O)(O)(O)
(I)(I)(O)(I)(O)(O)
(I)(I)(O)(O)(I)(O)
(I)(O)(I)(O)(I)(O)
(I)(O)(I)(I)(O)(O)
の5通りでよいのではないかと思います
No.2ベストアンサー
- 回答日時:
ANo.1が正解。
(それが言いたかっただけです,すみません。「自信あり」じゃなく「参考意見」になってたもので)以下,蛇足です。(I)がpushで (O)がpop,左から右へとスタック操作を示しているので,
(I)(I)(I)(O)(O)(O)…出力順序はCBA
(I)(I)(O)(I)(O)(O)…出力順序はBCA
(I)(I)(O)(O)(I)(O)…出力順序はBAC
(I)(O)(I)(O)(I)(O)…出力順序はABC
(I)(O)(I)(I)(O)(O)…出力順序はACB
ということで,残ったCABは1つのスタックだけでは出力できません。
No.3
- 回答日時:
さらに蛇足を。
この条件下だと「CAB」はなぜ出力不可能なのか?についてです。
スタック問題を解くためには、「入力したデータは底にたまる」「1回の出力で取り出せるデータは、一番上にたまっているデータのみ」ということを知っていることが前提となります。
ゆえに、「Aを、Bよりも先に出力させる」ためには「Aが出力候補になっている、という条件のもとで、Bが入ってくる前にAを出力させる」以外の方法はありません。
ANo.2番さんが指摘しておられる「ABC、ACB」の2つが、これに該当します。
-----
という前提はおいておいて、「CABはなぜ出せないの?」という話の本編です。
この問題の設定では、「A,B,Cの順番で入力する」とあります。「BよりもAを先に出力する」ためには、少なくとも「Bが入力される前に」Aの出力処理をしなけれならないのは、前述の通りです。とりあえず、「CAB」になりそうなデータ処理を追いかけてみます。
「CAB」を実現しようと思ったら、まずは、「Cを最初に出力」する必要があります。なので、とりあえず「A、Bのデータをスタックに入力し、Cの入力を待つ」方法をとらないと、Cを最初に出力することはできません。
で、Cを取り出したあとのAとBのデータは、スタック内ではこのようになっています。
|からっぽ|
|データB|
|データA|
------
「CAB」を完成させるには、次にAを出力するしかありません。しかし、上の図、および「取り出しのルール」上、次に取り出せるデータはBのみです。なので、どうしても次に「Aを出力すること」は不可能なのです。
ゆえに、「CAB」はこの問題においては不可能、と結論づけられます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 高校 勉強ができない。 4 2022/07/03 08:13
- 工学 電気回路の問題の質問 6 2022/05/22 07:20
- 高校受験 数学の問題いくつか捨てても大丈夫?残り1ヶ月、点数が取れない教科ばっか勉強しても大丈夫? 高校受験 2 2023/01/07 17:55
- 高校 「高校生クイズ。 何問目」。「2問目」です。「回答(解答)」をお願い出来ますか? 理解出来ません。 1 2022/04/17 13:44
- 予備校・塾・家庭教師 鉄緑会の高一第2回の校内模試に向けてやるべきことを洗い出したいので以下の質問にお答え頂けるとありがた 1 2022/10/31 21:13
- 大学受験 お急ぎの質問です。 現在高3受験生です。次の金曜日に明治大学総合数理学部(現象数理科)の学部別試験が 3 2023/02/13 23:38
- 弁護士・行政書士・司法書士・社会保険労務士 ★行政書士試験の民法についての質問になります。 代理での問題で分からない事があります。 問 建物を購 2 2023/05/18 22:06
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- 数学 高校数学Aについての質問です。 あたりくじ2本を含む8本のくじがあるとき、 1本引いて当たりかどうか 3 2022/10/11 15:38
- Visual Basic(VBA) VBAで早押しゲームを作りたい 4 2022/05/12 13:46
関連するカテゴリからQ&Aを探す
医師・看護師・助産師
薬剤師・登録販売者・MR
医療事務・調剤薬局事務
歯科衛生士・歯科助手
臨床検査技師・臨床工学技士
理学療法士・作業療法士・言語聴覚士
臨床心理士・心理カウンセラー・ソーシャルワーカー
介護福祉士・ケアマネージャー・社会福祉士
弁護士・行政書士・司法書士・社会保険労務士
フィナンシャルプランナー(FP)
中小企業診断士
公認会計士・税理士
簿記検定・漢字検定・秘書検定
情報処理技術者・Microsoft認定資格
TOEFL・TOEIC・英語検定
建築士
インテリアコーディネーター
宅地建物取引主任者(宅建)
不動産鑑定士・土地家屋調査士
マンション管理士
電気工事士
美容師・理容師
調理師・管理栄養士・パティシエ
シェフ
保育士・幼稚園教諭
教師・教員
国家公務員・地方公務員
警察官・消防士
その他(職業・資格)
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
VBA レジストリの値の読み方に...
-
MMDでavi出力が出来ない
-
小町算のプログラム
-
4Kの外部モニターに出力すると...
-
PS5をMacBookProに出力したいの...
-
チャットGPTで質問すると回答が...
-
スマホのバッテリー消費につい...
-
AccessでPDFを複数ファイルにし...
-
AIに回答させるって
-
15分周回路のタイミングチャート
-
【エクセル、並び替えについて】
-
C言語の標準関数の引数の順番に...
-
coutで出力した文字を消去する...
-
コンセントの電力は入力と出力...
-
gnuplotで複数のwindowを開くに...
-
エクセルVBAでテキストファイル...
-
VBAでテキスト出力時のスペース...
-
OBS配信すると、マイクが途切れ...
-
Anker社の充電器について。 Ank...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
MMDでavi出力が出来ない
-
プログラムについての質問です...
-
コンセントの電力は入力と出力...
-
AIに回答させるって
-
OBS配信すると、マイクが途切れ...
-
VBAでテキスト出力時のスペース...
-
cout と cerrの違い
-
アクセスでエクセルに出力する...
-
printfとputcharの違いは
-
ACCESS クエリ→フォーム...
-
VBAのExecメソッドで画面を非表...
-
テキストファイルから特定の文...
-
COBOLのMOVEで桁数が異なる場合
-
VBAで有効数字の設定
-
coutで出力した文字を消去する...
-
Windows Formアプリからコンソ...
-
KEYENCEのシーケンスプログラム...
-
CRC16計算について
おすすめ情報