EX8 - 1.08 Editorial /

Time Limit: 2 sec / Memory Limit: 256 MB

説明ページに戻る

問題文

A君はたこ焼きの情報を処理するプログラムを書いています。
このプログラムは以下の2パターンの入力を処理します。


パターン1

入力

1
price
N

1行目で、パターンを表す整数1が入力されます。
2行目で、たこ焼き1個あたりの値段priceが入力されます。
3行目で、たこ焼き1セットあたりの個数Nが入力されます。

出力

たこ焼き1セットあたりの値段(=N \times price)を出力します。


パターン2

入力

2
text
price
N

1行目で、パターンを表す整数2が入力されます。
2行目で、たこ焼きセットの説明文textが入力されます。
3行目で、たこ焼き1個あたりの値段priceが入力されます。
4行目で、たこ焼き1セットあたりの個数Nが入力されます。

出力

1行目で、たこ焼きセットの説明文textの末尾に!をつけて出力します。
2行目で、たこ焼き1セット辺りの値段(=N \times price)を出力します。


A君はこの通りの動作をするプログラムを書いたつもりでしたが、プログラムを実行してみるとエラーが発生しました。
A君が書いたプログラムのエラーを修正し、正しく動作するようにしてください。

A君が書いたプログラム
#include <bits/stdc++.h>
using namespace std;

int main() {
  int p;
  cin >> p;

  // パターン1
  if (p == 1) {
    int price;
    cin >> price;
  }

  // パターン2
  if (p == 2) {
    string text;
    int price;
    cin >> text >> price;
  }

  int N;
  cin >> N;

  cout << text << "!" << endl;
  cout << price * N << endl;
}

もしプログラムを修正した結果、A君が書いたプログラムとの違いが大きくなってしまったとしても、ACができればOKです。


制約

  • 0≦price, N≦100
  • price, Nは整数
  • textは半角英数字からなる
  • textは20文字以内

ジャッジでは以下の入力例以外のケースに関してもテストされることに注意。

入力例1

1
80
5

出力例1

400

入力例2

2
umai
150
3

出力例2

umai!
450

入力例3

2
good!
30
8

出力例3

good!!
240

テスト入出力

書いたプログラムがACにならず、原因がどうしてもわからないときだけ見てください。

クリックでテスト入出力を見る

テスト入力1
1
2
3
テスト出力1
6

テスト入力2
2
yeah!...!ok
100
100
テスト出力2
yeah!...!ok!
10000


解答例

必ず自分で問題に挑戦してみてから見てください。

クリックで解答例を見る

#include <bits/stdc++.h>
using namespace std;

int main() {
  int p;
  cin >> p;

  // パターン2
  if (p == 2) {
    string text;
    cin >> text;
    cout << text << "!" << endl;
  }

  int price, N;
  cin >> price >> N;
  cout << price * N << endl;
}