こんにちは。
表題の問題、教えていただきたいです。
問題のテキストをコピーできないので、リンクを書きます。
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.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」はこの問題においては不可能、と結論づけられます。
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通りでよいのではないかと思います
お探しの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でゲーム...
-
AIに回答させるって
-
プログラムについての質問です...
-
VBAでテキスト出力時のスペース...
-
MMDでavi出力が出来ない
-
cout と cerrの違い
-
アクセスでエクセルに出力する...
-
OBS配信すると、マイクが途切れ...
-
VBAで有効数字の設定
-
printfとputcharの違いは
-
coutで出力した文字を消去する...
-
Accessのテーブルからcsv出力す...
-
エクセルVBAにて アルファ...
-
COBOLで可変長ファイルの出力に...
-
KEYENCEのシーケンスプログラム...
-
テキストファイルから特定の文...
-
Windows Formアプリからコンソ...
-
C言語の標準関数の引数の順番に...
-
【VBA】PDFを2in1で出力したいです
-
改行の仕方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
コンセントの電力は入力と出力...
-
MMDでavi出力が出来ない
-
OBS配信すると、マイクが途切れ...
-
VBAでテキスト出力時のスペース...
-
cout と cerrの違い
-
COBOLのMOVEで桁数が異なる場合
-
ACCESS クエリ→フォーム...
-
アクセスでエクセルに出力する...
-
VBAのExecメソッドで画面を非表...
-
テキストファイルから特定の文...
-
Windows11対応の3入力1出力 USB...
-
VBAで有効数字の設定
-
スマホのバッテリー消費につい...
-
Excel VBAで値を変えながら、pd...
-
NTTのホームゲートウェイとOCN...
-
定格冷房能力(出力)とは 定格...
-
プログラムについての質問です...
-
PS5をMacBookProに出力したいの...
おすすめ情報