数据范围:每组输入的字符串长度满足 1≤n≤10000 ,坐标保证满足−2 ^31 ≤x,y≤2 ^31 −1 ,且数字部分仅含正数
输入描述:
一行字符串
输出描述:
最终坐标,以逗号分隔
示例1
输入:
A10;S20;W10;D30;X;A1A;B10A11;;A10;
输出:
10,-10
示例2
输入:
ABC;AKL;DA1;
输出:
0,0
#include <iostream>
#include <string>
using namespace std;
bool isNUM(string i)
{
for(auto x : i)//!!!! auto 声明变量时根据初始化表达式自动推断该变量的类型
{
if(!isdigit(x)) return false;
}
return true;
}
int main()
{
int arry[2] = {0 , 0};//存储两个最终的坐标
string s;
while(getline(cin , s , ';')) //!!!!记住
{
if(s.empty()) continue; // empty() !!!!
string num = s.substr(1); //除去第一个字符,剩下后面的字符
if(isNUM(num))
{
switch(s[0])
{
case 'A' : arry[0] -= stoi(num); break; //stoi()字符串转int
case 'D' : arry[0] += stoi(num); break;
case 'W' : arry[1] += stoi(num); break;
case 'S' : arry[1] -= stoi(num); break;
}
}
}
cout << arry[0] << ',' << arry[1] << endl;
return 0;
}