t050 方程求解

2021-09-28 10:01:00 字數 1430 閱讀 3876

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...