對於方程a*x1^2+b*x2^2+c*x3^2+d*x4^2=0,給出a,b,c,d,求出有多少種方法使得方程成立,xi!=0,屬於[-100,100]
a,b,c,d也不為0,屬於[-50,50].
Sample Input
1 2 3 -4 1 1 1 1Sample Output
39088 0
題目分析:
直接暴力的話,會100^4,,超時,我們可以把等式轉化為a*x1^2+b*x2^2=-(c*x3^2+d*x4^2),在進行暴力的話,時間會變成O(100^2),只需要記錄左邊的值的方案,在右邊的遍歷中是否會出現,注意負數,還有就是ai^2。 因為是i*i肯定是正數,范圍是[-100,100],對於每一個xi^2都有兩種狀態,對於四個變量因此會多2^4倍中狀態。
AC代碼:
/** *@xiaoran *暴力+hash *對等式分開成兩邊進行比較即可,大神這個+100W很好啊 */ #include#include #include