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;
        
        }
  • 相关阅读:
    IO 单个文件的多线程拷贝
    day30 进程 同步 异步 阻塞 非阻塞 并发 并行 创建进程 守护进程 僵尸进程与孤儿进程 互斥锁
    day31 进程间通讯,线程
    d29天 上传电影练习 UDP使用 ScketServer模块
    d28 scoket套接字 struct模块
    d27网络编程
    d24 反射,元类
    d23 多态,oop中常用的内置函数 类中常用内置函数
    d22 封装 property装饰器 接口 抽象类 鸭子类型
    d21天 继承
  • 原文地址:https://www.cnblogs.com/noip/p/2305317.html
Copyright © 2011-2022 走看看