题解 | #坐标移动#

坐标移动

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

分享一下

#include<bits/stdc++.h>
using namespace std;
int string2int(string str);
bool process(string  str,int& x,int& y);

int main(){
    
    string str;
    getline(cin,str);
    int x,y;
    x = y = 0;
    int start=0;
    for(int i=0;i<str.size();++i){
        if(str[i]==';'){
            int len = i-start;
            if(len>=2){
               string str1 = str.substr(start,len);
               process(str1,x,y);
            }
            start = i+1;
            if(start>str.size())
                break;
        }
    }
    cout<<x<<","<<y;
    return 0;
}

bool process(string  str,int& x,int& y){
    int flag = 1;
    for(int i=1;i<str.size();++i){
        if(i==1&&str[i]=='0'){
            flag = 0;return false;
        }
        if(str[i]<'0'||str[i]>'9'){
            flag = 0;return false;
        }
    }
    int dd;
    if(flag){
        dd = string2int(str.substr(1));
    }
    if(str[0]=='A')
        x = x-dd;
    else if(str[0]=='D')
        x+=dd;
    else if(str[0]=='W')
        y+=dd;
    else if(str[0]=='S')
        y-=dd;
    return true;
}

int string2int(string str){
    int res=0;
    for(int i=0;i<str.size();++i){
        res = (str[i]-'0') + res*10;
    }
    return res;
}




全部评论

相关推荐

08-11 17:26
湘潭大学 营销
假如是小公司入门的,后续还能进大厂吗?投了大厂的简历,接了面试之后一直都没有反馈,大多数连面试的机会都没有给,我承认我破防了
WBYDCOFFIC...:大厂优势太高了,我之前在美的实习完投新的实习是一个中厂,部门的领导是从美的出来的,面试就和聊天一样,在美的的时候部门好多都是从华为出来的,一环套一环
点赞 评论 收藏
分享
代码不跑我跑_bug...:北大杀完9✌杀,9✌杀完鼠鼠杀
你最希望上岸的公司是?
点赞 评论 收藏
分享
在研究求职打法的菠萝...:个人项目,我看是万人项目吧
点赞 评论 收藏
分享
08-08 11:51
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务