time limit: 1 second
memory limit: 128 mb
【問題描述】
要求xi(i = 1,2,3,4)是乙個[-t..t]中的整數,滿足方程ax1 + bx2 + cx3 + dx4 = p的解有多少組?
【輸入格式】
六個整數分別表示p、t、a、b、c、d。
【輸出格式】
乙個整數表示方程的解的個數。
|p| < 109
|a| < 104
|b| < 104
|c| < 104
|d| < 104
0 <= t <= 500
sample input
0 10 -1 -1 0 -1
sample output
【題目鏈結】:
【題解】
可以把等式移項一下;
得到 ax1+bx2=p-cx3-dx4
則我們可以先兩層迴圈列舉x1,x2獲得ax1+bx2;
存在map裡面;
然後再兩層迴圈列舉x3,x4,獲得p-cx3-dx4;
看看和p-cx3-dx4相同的有多少個;有多少個則就有相應的多少個解;遞增答案就好^_^;
時間複雜度o(2*(2t)^2);
【完整**】
#include
#include
#include
using
namespace
std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define ll long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define rei(x) scanf("%d",&x)
#define rel(x) scanf("%i64d",&x)
typedef pair pii;
typedef pairpll;
const
int dx[9] = ;
const
int dy[9] = ;
const
double pi = acos(-1.0);
const
int maxn = 110;
int p,t,a,b,c,d,ans = 0;
map dic;
int main()
P1689 方程求解
題目描述 給乙個方程,形如x y z或x y z。給出了其中兩個未知數,請求出第三個數。未知數用 表示,等式中也許會出現一些多餘的空格。輸入格式 一行,方程。輸出格式 代表的值 輸入輸出樣例 輸入 1 複製 樣例輸入1 1 2 樣例輸入2 3 2 輸出 1 複製 樣例輸出1 3樣例輸出1 1說明 提...
北大OpenJudge 4140 方程求解
總時間限制 1000ms 記憶體限制 65536kb 描述求下面方程的根 f x x3 5x2 10x 80 0。輸入輸出 精確到小數點後9位。樣例輸入 樣例輸出 解析 屬於二分思想的簡單應用,首先我們設定初始的左右端點為0,100,root就取它們兩個的二分點,然後帶入f函式進行計算,如果說這個值...
洛谷 P1689 方程求解
給乙個方程,形如x y z或x y z。給出了其中兩個未知數,請求出第三個數。未知數用 表示,等式中也許會出現一些多餘的空格。輸入格式 一行,方程。輸出格式 代表的值 輸入樣例 1 複製 樣例輸入1 1 2 樣例輸入2 3 2 輸出樣例 1 複製 樣例輸出1 3樣例輸出1 1 0 x,y,z 1,0...