这道题我是用笨方法写的,极其浪费时间,虽然我举了很多例子都证明代码无误,但是就是不能通过OJ,以后再想吧。
题目如下:

代码如下:
#include<stdio.h>
int main()
{
int x=0,y=0,time[100],command[100],flag=1,dire=0,k=1,i=1,j=1;
time[0]=0;
while(1)
{
if(flag%2!=0)
{
scanf("%d",&time[i]);
i++;
}
if(flag%2==0)
{
scanf("%d",&command[j]);
if(command[j]==3)
break;
j++;
}
flag++;
}
y+=10*time[1];
for(;k<flag/2;k++)
{
if(dire==0)
{
if(command[k]==1)
x-=(time[k]-time[k-1])*10,dire=1;
else if(command[k]==2)
x+=(time[k]-time[k-1])*10,dire=3;
}
else if(dire==1)
{
if(command[k]==1)
y-=(time[k]-time[k-1])*10,dire=2;
else if(command[k]==2)
y+=(time[k]-time[k-1])*10,dire=0;
}
else if(dire==2)
{
if(command[k]==1)
x+=(time[k]-time[k-1])*10,dire=3;
else if(command[k]==2)
x-=(time[k]-time[k-1])*10,dire=1;
}
else if(dire==3)
{
if(command[k]==1)
y+=(time[k]-time[k-1])*10,dire=0;
else if(command[k]==2)
y-=(time[k]-time[k-1])*10,dire=2;
}
}
printf("%d %d\n",x,y);
return 0;
}
来源:CSDN
作者:赤旗的世界
链接:https://blog.csdn.net/weixin_45588493/article/details/104054579