codeforces#239_div2_C Triangle
题目地址:戳这里
题目大意:给定直角边的边长,试着列举出一个整点三角形,使得没有一边和坐标轴平行,满足边长条件。
额 ,直接暴力枚举
但是注意下循环退出的时候,j有可能++ 所以要把flag那个写在后面。
代码:
#include<iostream> #include<cmath> using namespace std; int main() { int a,b; cin>>a>>b; int i,j,i1,j1; bool ok=0; bool flag=0; for( i=1;i<a;i++) { for(j=1;j<b;j++){ i1=sqrt(a*a-i*i); j1=sqrt(b*b-j*j); if(i1==sqrt(a*a-i*i)&&j1==sqrt(b*b-j*j)) { if(i!=j1&&i*j1==i1*j) { ok=1; flag=1; break; } } } if(flag) break; } if(!ok) cout<<"NO"<<endl; else { cout<<"YES"<<endl; cout<<0<<' '<<0<<endl; cout<<-i1<<' '<<i<<endl; cout<<j<<' '<<j1<<endl; } }
posted on 2014-04-01 04:15 814jingqi的ACM 阅读(114) 评论(0) 编辑 收藏 举报