Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
tell me why#include<stdio.h> #include<math.h> int rout[202][2],Bob[101][2],interesting[101][2],p,flag[101]={0}; int sum(int m,int n,float lenB) { float l,r; l=sqrt(pow(interesting[m][0]-Bob[n][0],2)+pow(interesting[m][1]-Bob[n][1],2)); r=sqrt(pow(interesting[m][0]-Bob[n+1][0],2)+pow(interesting[m][1]-Bob[n+1][1],2)); if(l+r>lenB) return 0; else return 1; } int search(int n,int m) { int i; float len,lenB; len=sqrt(pow(Bob[n][0]-Bob[n+1][0],2)+pow(Bob[n][1]-Bob[n+1][1],2)); lenB=2*len; for(i=0;i<m;i++) { if(flag[i]!=1&&sum(i,n,lenB)) // 狗走过的就不能在走了flag[i]标记 可是不对 如果走过的可以走 我是了也不对 { p=i; flag[i]=1; return 1; } } return 0; } int main() { int i,j,n,m,k=0; scanf("%d%d",&n,&m); for(i=0;i<n;i++) scanf("%d%d",&Bob[i][0],&Bob[i][1]); for(i=0;i<m;i++) scanf("%d%d",&interesting[i][0],&interesting[i][1]); for(i=0;i<n-1;i++) { rout[k][0]=Bob[i][0]; rout[k][1]=Bob[i][1]; k++; if(search(i,m)) { rout[k][0]=interesting[p][0]; rout[k][1]=interesting[p][1]; k++; } } printf("%d\n",k+1); for(i=0;i<k;i++) { printf("%d %d ",rout[i][0],rout[i][1]); } printf("%d %d\n",Bob[n-1][0],Bob[n-1][1]); return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator