/*思路分析: 方法一:时间复杂度O(N),空间复杂度O(1) 求x+y与x*x+y*y 方法二:时间复杂度O(NlogN),空间复杂度O(1) 排序 方法三:时间复杂度O(N),空间复杂度O(n) hash或位图(bitmap)hash */ #include <bits/stdc++.h> using namespace std; int main() { int x,y; int a[98]; for(int i=0; i<98; i++) a[i]=i+1; int sum_xy=0,sum_xxyy=0; int sum1=0,sum2=0; for(int i=1; i<=100; i++) { sum1+=i; sum2+=i*i; } for(int i=0; i<98; i++) { sum_xy+=a[i]; sum_xxyy+=a[i]*a[i]; } sum_xy=sum1-sum_xy; sum_xxyy=sum2-sum_xxyy; int xy=(sum_xy*sum_xy-sum_xxyy)/2; int sum_x_y=sqrt(sum_xy*sum_xy-4*xy); x=(sum_xy+sum_x_y)/2; y=(sum_xy-sum_x_y)/2; cout<<x<<" "<<y<<endl; return 0; }