🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら

Q&A

解決済

2回答

346閲覧

競技プログラミング(AtCoder)

korr

総合スコア23

0グッド

0クリップ

投稿2019/10/13 08:40

下記に問題で、二番目の回答ではWAになってしまいます。
どこが間違っているのでしょうか。

よろしくお願いします。


問題文
高橋くんの家には電源プラグの差込口が1口しかありません。
そこで、高橋くんはA個口の電源タップをいくつか使って未使用の差込口をB口以上に拡張したいと考えています。
A個口の電源タップ1つと未使用の差込口1口を使って、新たに差込口をA口増やすことができます。
最小でいくつの電源タップが必要でしょうか。

制約
入力は全て整数である。
2≤A≤20
1≤B≤20

(正しい) #include <bits/stdc++.h> using namespace std; int main(){ int A, B, cnt = 0; cin >> A >> B; int outlet = 1; while(outlet < B){ outlet += A-1; cnt++; } cout << cnt << endl; }
(間違っている) #include <bits/stdc++.h> using namespace std; int main(){ int A, B, cnt = 1; cin >> A >> B; int outlet = A; while(outlet < B){ outlet += A-1; cnt++; } cout << cnt << endl; }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Bが1のとき、cntの初期値が1だと都合が悪いのでは。
テーブルタップが一つも必要ない場合の考慮が欠けています。

投稿2019/10/13 08:47

編集2019/10/13 08:50
LouiS0616

総合スコア35668

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

双方違うところに着目して、outletの値がどうなるか見れば一目瞭然ではないかと。

投稿2019/10/13 08:46

y_waiwai

総合スコア88038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問