zoukankan      html  css  js  c++  java
  • T1 找试场 题解

    拖延症又犯了QwQ。

    今天上午考试了,按照惯例,我仍然要把我会的所有题的题解写一遍。

    1.找试场(way.cpp/in/out) 
    问题描述 
    小王同学在坐标系的(0,0)处,但是他找不到考试的试场,于是一边走路一边问路,
    每个被问路的人会告诉他一个指令(包括走路或转弯),现在请编一个程序,显示他每次走
    路后的坐标(转弯后坐标不变,所以不必显示坐标)。
    初始方向向 y 轴正半轴!!
     
    输入格式 
     第一行一个数 n,表示有 n 个指令,接下来 n 行每行一个指令,每个指令是“left” 或 “right”或数字。
     
    输出格式
     (有 m 个走路的指令)共 m 行,每一行一个坐标,表示走完后的坐标。如果只是原地转
    弯,从开始到最后从来不走动,则输出“(0,0)”。

    这是第一题,看起来还不错,打表很香的样子,但我是一个学识浅薄的小孩,我根本不知道y轴正半轴是什么意思

    不慌,不慌,我们来看看样例。

    样例输入 6
    2
    left
    2
    right
    right
    3
    样例输出 
    (0,2)
    (-2,2)
    (1,2)

    样例告诉了我们一些有用的东西啊!首先,不转动的时候向前移动,是y增加。面向左向前移动,是x减少。面向右向前移动是x增加。知道了3个最后一个也很简单,是y减少。这样就可以美妙的打表了。

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cmath>
    #include<cstring>
    using namespace std;
    long long n;
    long long fx,x,y,shu,bj;
    string s; 
    int main()
    {
    	freopen("way.in","r",stdin);
    	freopen("way.out","w",stdout);
    	scanf("%lld",&n);
    	for(int i=0;i<n;i++)
    	{
    		cin>>s;
    		if(s[0]=='l')//向左转!
    		{
    			fx--;
    			if(fx==-1)//转了一圈
    			{
    				fx=3;
    			}
    		}
    		else if(s[0]=='r')//向右转!
    		{
    			fx++;
    			if(fx==4)//转了一圈
    			{
    				fx=0;
    			}
    		}else//齐步走!
    		{
    			bj=1;//这个是标记,如果一直在原地转圈圈是要输出(0,0)的。
    			shu=0;
    			for(int j=0;j<s.length();j++)//计算出走的步数。
    			{
    				shu*=10;
    				shu+=s[j]-'0';
    			}
    			if(fx==0)//打表真香
    			{
    				y+=shu;
    			}
    			if(fx==1)
    			{
    				x+=shu;
    			}
    			if(fx==2)
    			{
    				y-=shu;
    			}
    			if(fx==3)
    			{
    				x-=shu;
    			}
    			printf("(%lld,%lld)
    ",x,y);//输出结果
    		}
    	}
    	if(bj==0)
    	{
    		cout<<"(0,0)"<<endl;
    	}
    	return 0;
    }
    

    这个题就这么愉快的结束了,下个题再见。

  • 相关阅读:
    线段树专辑—— pku 1436 Horizontally Visible Segments
    线段树专辑——pku 3667 Hotel
    线段树专辑——hdu 1540 Tunnel Warfare
    线段树专辑—— hdu 1828 Picture
    线段树专辑—— hdu 1542 Atlantis
    线段树专辑 —— pku 2482 Stars in Your Window
    线段树专辑 —— pku 3225 Help with Intervals
    线段树专辑—— hdu 1255 覆盖的面积
    线段树专辑—— hdu 3016 Man Down
    Ajax跨域访问
  • 原文地址:https://www.cnblogs.com/lichangjian/p/12906673.html
Copyright © 2011-2022 走看看