top1编程
← 返回题目
题解

【基础】机器人的移动(robot.cpp)

1 条题解

  • 0
    @ 2026-7-29 0:15:43
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
    	int n,b[1001]={},d[20][20]={},o=10,p=10;
        cin>>n;
        d[o][p]++;
        char a[1001]={};
        for(int i=1;i<=n;i++){
            cin>>a[i]>>b[i];
            if(a[i]=='L'){
                for(int j=1;j<=b[i];j++){
                    p--;
                    d[o][p]++;
                }
            }else if(a[i]=='R'){
                for(int j=1;j<=b[i];j++){
                    p++;
                    d[o][p]++;
                }
            }else if(a[i]=='U'){
                for(int j=1;j<=b[i];j++){
                    o--;
                    d[o][p]++;
                }
            }else{
                for(int j=1;j<=b[i];j++){
                    o++;
                    d[o][p]++;
                }
            }
        }
        int s=0;
        for(int i=1;i<=19;i++){
            for(int j=1;j<=19;j++){
                if(d[i][j]!=0){
                    s++;
                }
            }
        }
        cout<<s;
    }
    
    • 1