国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

洛谷——P1023 稅收與補(bǔ)貼問題

2019-11-14 09:52:21
字體:
供稿:網(wǎng)友

題目描述

你是某家咨詢公司的項(xiàng)目經(jīng)理,現(xiàn)在你已經(jīng)知道政府對(duì)某種商品的預(yù)期價(jià)格,以及在各種價(jià)位上的銷售情況。要求你確定政府對(duì)此商品是應(yīng)收稅還是補(bǔ)貼的最少金額(也為整數(shù)),才能使商家在這樣一種政府預(yù)期的價(jià)格上,獲取相對(duì)其他價(jià)位上的最大總利潤(rùn)。總利潤(rùn)=單位商品利潤(rùn)*銷量單位商品利潤(rùn)=單位商品價(jià)格 - 單位商品成本 (- 稅金 or + 補(bǔ)貼)

輸入格式:

輸入的第一行為政府對(duì)某種商品的預(yù)期價(jià),第二行有兩個(gè)整數(shù),第一個(gè)整數(shù)為商品成本,第二個(gè)整數(shù)為以成本價(jià)銷售時(shí)的銷售量,以下若干行每行都有兩個(gè)整數(shù),第一個(gè)為某價(jià)位時(shí)的單價(jià),第二個(gè)為此時(shí)的銷量,以一行-1,-1表示所有已知價(jià)位及對(duì)應(yīng)的銷量輸入完畢,輸入的最后一行為一個(gè)單獨(dú)的整數(shù)表示在已知的最高單價(jià)外每升高一塊錢將減少的銷量。

輸出格式:

輸出有兩種情況:若在政府預(yù)期價(jià)上能得到最大總利潤(rùn),則輸出一個(gè)單獨(dú)的整數(shù),數(shù)的正負(fù)表示是補(bǔ)貼還是收稅,數(shù)的大小表示補(bǔ)貼或收稅的金額最小值。若有多解,取絕對(duì)值最小的輸出。如在政府預(yù)期價(jià)上不能得到最大總利潤(rùn),則輸出“NO SOLUTION”。

題解:

不得不說一句:“差點(diǎn)題目都沒看懂!!”草稿打了半天(看了下題解),才明白是道數(shù)學(xué)題。以樣例為例,設(shè)未知數(shù)x,我們要求 (31-28+x)*110>=(28-28+x)*130 (31-28+x)*110>=(29-28+x)*125 (31-28+x)*110>=(30-28+x)*120 (31-28+x)*110>=(32-28+x)*95這樣便可以解出x的范圍,min<=x<=max,然后根據(jù)min和max的正負(fù)號(hào)來決定輸出哪個(gè)。

代碼:

var d:array [0..10001] of longint; x,y:array [0..501] of longint; n,m,nm,r,l:longint; min,max:real;PRocedure init;var o,p,i,j:longint;begin readln(n); nm:=0; readln(o,p); while (o<>-1) and (p<>-1) do begin inc(nm); x[nm]:=o; y[nm]:=p; readln(o,p); end; readln(m); r:=x[1]; l:=x[nm]+y[nm] div m; if (n<r) and (n>l) then begin writeln('NO SOLUTION'); halt; end; for i:=1 to nm-1 do begin o:=(y[i]-y[i+1]) div (x[i+1]-x[i]); for j:=x[i] to x[i+1]-1 do d[j]:=y[i]-o*(j-x[i]); end; for i:=x[nm] to l do d[i]:=y[nm]-m*(i-x[nm]);end;procedure main;var i,o,t:longint;begin min:=maxlongint; max:=-maxlongint; for i:=r to l do begin o:=d[n]-d[i]; t:=i*d[i]-n*d[n]-r*(d[i]-d[n]); if (o>0) and (t/o>max) then max:=t/o; if (o<0) and (t/o<min) then min:=t/o; end; if max<-maxlongint then x[0]:=-maxlongint else if (max>0) and (max-trunc(max)>0) then x[0]:=trunc(max)+1 else x[0]:=trunc(max); if min>maxlongint then y[0]:=maxlongint else if (min<0)and (trunc(min)-min>0) then y[0]:=trunc(min)-1 else y[0]:=trunc(min); if (x[0]<0) and (y[0]>0) then begin x[0]:=0; y[0]:=0; end; if x[0]>y[0] then writeln('NO SOLUTION') else if abs(x[0])<abs(y[0]) then writeln(x[0]) else writeln(y[0]);end;begin init; main; end.
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大姚县| 义马市| 修文县| 左云县| 博白县| 伊春市| 那坡县| 潞城市| 昌图县| 佛学| 越西县| 北海市| 枞阳县| 徐水县| 隆子县| 福建省| 万山特区| 桐乡市| 丰都县| 台中市| 曲阜市| 敦煌市| 富川| 北京市| 武功县| 平利县| 邛崃市| 民县| 内乡县| 兴城市| 县级市| 都昌县| 乌拉特中旗| 巴东县| 罗源县| 独山县| 赤城县| 特克斯县| 洛浦县| 神木县| 洛扎县|