codeforces 18A - Triangle

来源:互联网 发布:大数据集群测试工具 编辑:程序博客网 时间:2024/06/05 00:09

判定直角三角形,如果不是,尝试把每个点坐标变动1,再判定

#include <stdlib.h>#include <string.h>#include <stdio.h>#include <ctype.h>#include <math.h>#include <stack>#include <queue>#include <map>#include <set>#include <vector>#include <string>#include <iostream>#include <algorithm>using namespace std;#define ll long long#define ls rt<<1#define rs ls1#define lson l,mid,ls#define rson mid+1,r,rs#define middle (l+r)>>1#define eps (1e-9)#define type int#define clr_all(x,c) memset(x,c,sizeof(x))#define clr(x,c,n) memset(x,c,sizeof(x[0])*(n+1))#define MOD 1000000007#define inf 100000007#define pi acos(-1.0)#define M 200000+5int c[3][2],a0,a1,b0,b1;int check(){int i,j,k;for(i=0;i<3;i++){ j=(i+1)%3,k=(i+2)%3; a0=c[i][0]-c[j][0],b0=c[i][1]-c[j][1]; a1=c[i][0]-c[k][0],b1=c[i][1]-c[k][1]; if((a0||b0)&&(a1||b1)&&(a0*a1+b0*b1)==0) return 1;}return 0;}int main(){    int T,i,j,flag;    for(i=0;i<3;i++)for(j=0;j<2;j++)scanf("%d",&c[i][j]);if(check()==1)puts("RIGHT");else {flag=0;for(i=0;i<3;i++)for(j=0;j<2;j++){if(flag==0){c[i][j]-=1;if(check()==1)flag=1;c[i][j]+=1;}if(flag==0){c[i][j]+=1;if(check()==1)flag=1;c[i][j]-=1;}}if(flag==1)puts("ALMOST");else puts("NEITHER");}    return 0;}

原创粉丝点击