zoukankan      html  css  js  c++  java
  • 题目:找试场

    题目描述

    小王同学在坐标系的(0,0)处,但是他找不到考试的试场,于是一边走路一边问路,每个被问路的人会告诉他一个指令(包括走路或转弯),现在请编一个程序,显示他每次走路后的坐标(转弯后不必显示坐标)。

    数据范围
    对于50 %的数据,0<n <=20,对于100 %的数据,0<n <=500, 所有数据都在longint范围内。

    输入格式

    第一行一个数n,表示有n个指令,接下来n行每行一个指令,每个指令是“left” 或“right”或数字。

    输出格式

    (有m个走路的指令)共m行,每一行一个坐标,表示走完后的坐标。如果只是原地转弯,从来不走动,则输出“(0,0)”.

    题解:———————————————————————————————————————————————————

    第一次做这样的题,看了别人的题解才明白,设定一个指示方向的变量,但向左转时step+3,向右转时step+1,向右转三次相当于向左转一次。

    代码实现:

    #include<iostream>
    using namespace std;
    
    int main()
    {
       int x,y,i,n;int b[501][2];
    
       cin>>n;
       
       x=y=0;
       memset(b,-1,sizeof(b));
       
       int step=0; 
       for(i=1;i<=n;i++)
       {
        char a[30];
        cin>>a;
        
        if(0<=a[0]-'0'&&a[0]-'0'<=9)    
         {  
          int k,j=0,l=1;   
          k=strlen(a);
          while(k>0)
          {
           j=j+(a[k-1]-'0')*l;
           l=l*10;
           k--;
                     }       
          switch(step){
                       case 0:y=y+j;break;
                       case 1:x=x+j;break;
                       case 2:y=y-j;break;
                       case 3:x=x-j;break;
                       }              
          b[i][0]=x;b[i][1]=y;             
          }                                           
        else if(a[0]=='r') {step=step+1;step=step%4;}
        else if(a[0]=='l') {step=step+3;step=step%4;}
                        }
        bool p=0;
        
        for(i=1;i<=n;i++)
        if((b[i][0]!=0||b[i][1]!=0)&&b[i][0]!=-1)
        p=1;
        
        if(p==0) {cout<<"(0,0)"<<endl;return 0;}
        
        for(i=1;i<=n;i++)
        if(b[i][0]!=-1)
        cout<<"("<<b[i][0]<<","<<b[i][1]<<")"<<endl;
         
        return 0;
        
        }
  • 相关阅读:
    PVE6.3去订阅
    帝国CMS灵动标签当天更新的日期显示红色其他颜色变成灰色
    灵动标签实现循环子栏目数据——实现 循环子栏目数据标签 (listsonclass)的效果
    帝国cms灵动标签实现循环子栏目数据
    帝国cms常用灵动标签
    51nod1847 奇怪的数学题
    CTS2019 氪金手游
    CTS2019 重复
    UR #5 怎样跑得更快
    AGC034 F
  • 原文地址:https://www.cnblogs.com/noip/p/2305317.html
Copyright © 2011-2022 走看看