肥余成功走出他迷路的路口,但是! 肥余沒有戰斗能力,他只能去數學城的商店購買木劍。
又但是! 他現在不在數學城 他在反數學城 。
肥余只能打敗反數學怪獸 才能走出反數學城!!!
肥余遇到在反數學城的第一隻怪獸是 —– 反加法獸!!!
範例測資
範例輸入 | 範例輸出 |
---|---|
第一行為小怪數量 (反加法獸) 然後重覆 (第一行) 次 輸入一個加法算式 和答案 | 答對輸出「yes」 答錯輸出「no」 |
3 1+1 2 2+4 5 5+8 4 | yes no no |
解題思路
使用字串來收加法的算式,跑字串的 For迴圈,宣告一個空的字串,每次都把目前字元加到空的字串中,如果目前字串是「+」,則將加起來的字串轉成整數並且將 字串.substr(目前位置 +1, 字串.length()) 也變成整數進行相加。
如果算出來的答案和輸入一樣,則輸出「yes」,反之則輸出「no」。
範例程式碼-ZeroJudge K678: 肥余歷險記—(反數學城1)
#include <iostream>
using namespace std;
int toint(string str)
{
if (str.length() == 1) return int(str[0] - '0');
return stoi(str);
}
int main() {
cin.sync_with_stdio(0);
cin.tie(0);
int N;
cin >> N;
for (int i = 0; i<N; i++)
{
string str, tmp = "";
cin >> str;
int sum = 0;
for (int j = 0; j<str.length(); j++)
{
if (str[j] == '+')
{
sum += toint(tmp);
sum += toint(str.substr(j+1, str.length()));
break;
}
tmp += str[j];
}
int ans;
cin >> ans;
if (sum == ans) cout << "yes\n";
else cout << "no\n";
}
}
//ZeroJudge K678
//Dr. SeanXD