标签:
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)
Total Submission(s): 221 Accepted Submission(s): 29
1 #include <stdio.h> 2 #include <string.h> 3 #include <algorithm> 4 using namespace std; 5 int main() 6 { 7 int n,m,x,y; 8 while(scanf("%d %d %d %d",&n,&m,&x,&y)!=EOF) 9 { 10 int s=0,k=0; 11 int flg=1,misetp; 12 misetp=min(x-1,y-1); 13 misetp=min(misetp,n-x); 14 misetp=min(misetp,m-y); 15 s=s+misetp; 16 n=n-misetp*2,m=m-misetp*2; 17 x=x-misetp,y=y-misetp; 18 while(flg) 19 { 20 if(n==1 && m==1 && x==1 &&y==1) 21 s--,flg=0; 22 s++; 23 n=n-2,m=m-2; 24 if(n<=0 || m<=0) 25 break; 26 x--,y--; 27 if(x==0 || x==n+1 || y==0 || y==m+1) 28 { 29 flg=0; 30 if((n>=2 && m>=3) || (n>=3 && m>=2)) 31 { 32 if(1<x && x<n) 33 { 34 k=min(x,n-x+1); 35 k=min(k,m); 36 k=k+s; 37 } 38 else if(1<y && y<m) 39 { 40 k=min(y,m-y+1); 41 k=min(k,n); 42 k=k+s; 43 } 44 } 45 } 46 } 47 if(n>0 && m>0) 48 { 49 s=s+min(n/2+n%2,m/2+m%2); 50 } 51 if(k>s) 52 s=k; 53 printf("%d\n",s); 54 } 55 return 0; 56 }
标签:
原文地址:http://www.cnblogs.com/cyd308/p/4671324.html