怎么找都找不到bug,把a,b,c开根号也是一样的
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll T,n,x[500],y[500],a,b,c; bool san(ll A,ll B,ll C){ a=(x[C]-x[B])*(x[C]-x[B])+(y[C]-y[B])*(y[C]-y[B]); c=(x[B]-x[A])*(x[B]-x[A])+(y[B]-y[A])*(y[B]-y[A]); b=(x[A]-x[C])*(x[A]-x[C])+(y[A]-y[C])*(y[A]-y[C]); ll m=max(a,max(b,c)); if(a==m){ if(b+c>=a){ return 1; } }else if(b==m){ if(a+c>=b){ return 1; } }else if(c==m){ if(a+b>=c){ return 1; } } return 0; } void run(){ cin>>n; for(ll i=1;i<=n;i++){ cin>>x[i]>>y[i]; } ll ans=0; for(ll i=1;i<=n;i++){ for(ll j=i+1;j<=n;j++){ for(ll z=j+1;z<=n;z++){ if(san(i,j,z)!=0){ if(a==b){ ans++; }else if(a==c){ ans++; }else if(b==c){ ans++; } } } } } cout<<ans<<'\n'; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0),cout.tie(0); T=1; while(T--){ run(); } }
全部评论
(6) 回帖