這個題就是典型的想出輪廓後,然後再具體分類,弄出各種情況
其中發現了一個新的地方,之前是要記得每次循環更新資料,這次更新資料是要判斷是否更新後,然後再更新(其實就可以用max與min函數)
#include<stdio.h>
int main()
{
int i=0,xi,yi,a,N;
int wl,wr,hu,hd,W,H;
scanf("%d %d %d",&W,&H,&N);
wl=0,hd=0,wr=W,hu=H;
for(i=0;i<N;i++)
{
scanf("%d %d %d",&xi,&yi,&a);
if(a==1)
{
if(xi>=wl)
wl=xi;
}
else if(a==2)
{
if(xi<=wr)
wr=xi;
}
else if(a==3)
{
if(yi>=hd)
hd=yi;
}
else
{
if(yi<=hu)
hu=yi;
}
}
if((wl>=wr)||(hd>=hu))
{
printf("0");
}
else
printf("%d",(hu-hd)*(wr-wl));
return 0;
}