集训小记 3

来源:互联网 发布:大学生it就业培训中心 编辑:程序博客网 时间:2024/06/04 19:00

留校集训第三天了     初尝长时间编程的滋味  可能由于热爱编程吧 没有想象中的难受    


          当我觉得我写的代码非常正确,没有一点错误,但是就是提交不上,那时的心情真是无法言语,我知道还是我的代码写的有问题,但找不到问题所在,反反复复看了十几遍

还是没有结果,真是恼火。。。。。。。。。。

      看会电影 ,,,放松一会再重新看程序  一眼就发现了问题,,,

      有时候钻进了死胡同,怎样也走不出来,不如先做些其他的事情,过段时间再看,也许就能发现问题;



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

看个问题





有一辆智能小车,最初(时间为0)的位置为(0,0),我们想知道它最后的位置。小车以每小时10公里的速度向北移动(以北为y轴正向,以东为x轴正向)。小车会受到一系列依照时间戳记排序的命令,1表示“向左转”,2表示“向右转”,3表“停止”。每个命令的前面有一个时间戳记,所以我们知道该命令是何时发出的。最后一个命令一定是“停止”。我们另外假设,这辆小车非常灵活,它可以在瞬间转弯。
以下列输入为例。小车在时间为5的时候收到一个“向左转”的命令1,在时间10收到一个“向右转”的命令2,在时间15收到一个“停止”的命令3。那么在最后时间15的时候,小车的位置将在(-50,100)。程序只要求输出小车最后的位置,第一个整数是x坐标,第二个整数是y坐标。

输入

输入包含多个命令,每个命令由整数time和command组成,表示在时刻time发出命令command。command的取值范围1-3,含义如上所述。

输出

输出占一行,包含两个整数,表示小车的最终位置。两个整数之间由空格隔开。

样例输入

51 10 2 15 3

样例输出

-50 100
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


看一下我的代码

 


#include <stdio.h>
#include <stdlib.h>
intmain()
{
  intf=1,t,m=0,n=1,k,x=0,y=0;
  for(;;)
    {
     scanf("%d %d",&t,&n);
        k=t-m;
        if(f==1)y=y+10*k;
        if(f==2)x=x-10*k;
        if(f==3)y=y-10*k;
        if(f==4)x=x+10*k;
        if(f==1&&n==1){f=2;m=t;continue;}
        if(f==1&&n==2){f=4;m=t;continue;}
        if(f==2&&n==1){f=3;m=t;continue;}
        if(f==2&&n==2){f=1;m=t;continue;}
        if(f==3&&n==1){f=4;m=t;continue;}
        if(f==3&&n==2){f=2;m=t;continue;}
        if(f==4&&n==1){f=1;m=t;continue;}
        if(f==4&&n==2)f=3;
        m=t;
        if(n==3)
            break;
 
    }
    printf("%d %d",x,y);
 
}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~·

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


虽然能用 但觉很垃圾  一时也找不到很好的办法了  就先这样吧






























 

0 0
原创粉丝点击