题解 | #坐标移动#

坐标移动

https://www.nowcoder.com/practice/119bcca3befb405fbe58abe9c532eb29

//朴素的解法
#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main(){
    string s;
    getline(cin,s);
    vector<int> zuobiao(2,0);
    string m="";
    vector<string> s1;
    int num =0;
    for(auto i :s){
        if(i!=';'){
            m+=i;
        }else{
            s1.push_back(m);
            m="";
        }
    }
    for(auto i:s1){        
        if((i.size()==3) && (i[1]<='9') && (i[1]>='0') && (i[2]<='9') && (i[2]>='0') ){
            num = (i[1]-'0')*10 + (i[2]-'0') ;            
        }else if((i.size()==2) && (i[1]<='9') && (i[1]>='0') ){
            num = i[1]-'0';
        }else {
            num = 0;
        }
        switch(i[0]){
            case 'A':
                zuobiao[0]-=num;
                break;
            case 'S':
                zuobiao[1]-=num;
                break;
            case 'D':
                zuobiao[0]+=num;
                break;
            case 'W':
                zuobiao[1]+=num;
                break;
            default :
                break;                
        }
        num =0;
        
    }
    cout << zuobiao[0] << ',' << zuobiao[1];
    
   return 0;
}

全部评论

相关推荐

嵌入式求职之路:可以看我经验😂,https://www.nowcoder.com/share/jump/73221730841876945
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务