1 solutions

  • 0
    @ 2025-3-3 16:25:48

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int a[21][21] ={0};
    char b[100];
    int  c[100];
    int main(){
       int j,i,d,x = 10,y = 10;
       cin>>d;
       for(i = 0;i < d;i++){
       	  cin>>b[i] >> c[i];
       }
       a[x][y] = 1;
       //计算机器人走过的距离
       for(i = 0;i < d;i++){
       	  if(b[i] == 'L'){         //向左走
       	     for(j = y;j >= y - c[i];j--){
       	        a[x][j] = 1;	
    	 	 } 	
    	 	 y = y - c[i];
    	  }else if(b[i] == 'R'){   //向右走
       	     for(j = y;j <= y + c[i];j++){
       	        a[x][j] = 1;	
    	 	 } 	
    	 	 y = y + c[i];
    	  }else if(b[i] == 'D'){   //向下走
       	     for(j = x;j <= x + c[i];j++){
       	        a[j][y] = 1;	
    	 	 } 	
    	 	 x = x + c[i];
    	  }else if(b[i] == 'U'){   //向上走
       	     for(j = x;j >= x - c[i];j--){
       	        a[j][y] = 1;	
    	 	 } 	
    	 	 x = x - c[i];
    	  }  
       }
       int num = 0;
       for(i = 0;i <= 20;i++){
       	  for(j = 0;j <= 20;j++){
       	     if(a[i][j] == 1){
       	        num++;
    		 } 	
    	  }
       } 
       cout<<num<<endl;
    }
    
    
    • 1

    Information

    ID
    10096
    Time
    1000ms
    Memory
    16MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By