(2ms, 96KB)c++標頭檔:#include<cstdio>#include<cstdlib>using namespace std;c標頭檔:改成#include<stdio.h>#include<stdlib.h>即可。這題可練習呼叫自訂函式讓原始碼看起來整齊,細節方面,要注意方向,大致上這題就能解好。
#include<cstdio>
#include<cstdlib>
using namespace std;
int d=0,l=0,r=0,re=0;
void d0(int px,int py,int x,int y);
void d1(int px,int py,int x,int y);
void d2(int px,int py,int x,int y);
void d3(int px,int py,int x,int y);
int main()
{
int n;
scanf("%d",&n);
int px,py,x,y,i;
scanf("%d%d",&px,&py);
for(i=1;i<n;i++)
{
scanf("%d%d",&x,&y);
if(d==0)
d0(px,py,x,y);
else if(d==1)
d1(px,py,x,y);
else if(d==2)
d2(px,py,x,y);
else
d3(px,py,x,y);
px=x;
py=y;
}
printf("%d %d %d\n",l,r,re);
return 0;
}
void d0(int px,int py,int x,int y)
{
if(x<px)
{
re++;
d=2;
}
else if(y>py)
{
l++;
d=1;
}
else if(y<py)
{
r++;
d=3;
}
}
void d1(int px,int py,int x,int y)
{
if(y<py)
{
re++;
d=3;
}
else if(x>px)
{
r++;
d=0;
}
else if(x<px)
{
l++;
d=2;
}
}
void d2(int px,int py,int x,int y)
{
if(x>px)
{
re++;
d=0;
}
else if(y>py)
{
r++;
d=1;
}
else if(y<py)
{
l++;
d=3;
}
}
void d3(int px,int py,int x,int y)
{
if(y>py)
{
re++;
d=1;
}
else if(x>px)
{
l++;
d=0;
}
else if(x<px)
{
r++;
d=2;
}
}