不過這次的火車票問題其實並不是火車票問題,而是取最大植的問題 。
問題描述:
比如說從廣州到北京 有四個站
站號 ** 站名
1 0 廣州
2 50 長沙
3 30 武漢
4 220 北京
第乙個站是起點站,所以第乙個站是0元,從第乙個到第二個站是50元,第二到第三是30元 等等
現在問題在這裡,看你現在有多少錢在身上(該金額由使用者輸入,比如249),從某一站出發(該站名也由使用者輸入,比如長沙),求最遠能到達哪個站?
用一條sql語句,不使用儲存過程實現。
問題分析:
可能有兩個方向都可以走,所以必須考慮兩個方向的問題。
對於遠沒有明確定義,可以是**高的為遠,也可以認為站數 多的為遠
語句:1、如果**高的為遠
--測試環境
declare @test table (站號 int, ** int, 站名 varchar(4))
insert @test
select 1, 0, '廣州' union all
select 2, 50, '長沙' union all
select 3, 30, '武漢' union all
select 4, 220, '北京'
--語句
select top 1 * from ( --選擇第乙個
select 站號,站名,(select sum(**) from @test where 站號<=b.站號 and 站號》(select 站號 from @test where 站名='長沙')) as **
from @test b --正向
union all
select 站號,站名,(select sum(**) from @test where 站號》b.站號 and 站號<=(select 站號 from @test where 站名='長沙')) as **
from @test b --反向
) as t
where **<=249 --限制**
order by ** desc --**高的為遠,選擇**最高的
--結果
站號 站名 **
----------- ---- -----------
1 廣州 50
(所影響的行數為 1 行)
2、如果站數多的為遠
--測試環境
declare @test table (站號 int, ** int, 站名 varchar(4))
insert @test
select 1, 0, '廣州' union all
select 2, 50, '長沙' union all
select 3, 30, '武漢' union all
select 4, 220, '北京'
--語句
select top 1 * from ( --選擇第乙個
select 站號,站名,(select sum(**) from @test where 站號<=b.站號 and 站號》(select 站號 from @test where 站名='長沙')) as **
,abs(站號-(select 站號 from @test where 站名='長沙')) as 站數
from @test b --正向
union all
select 站號,站名,(select sum(**) from @test where 站號》b.站號 and 站號<=(select 站號 from @test where 站名='長沙')) as **
,abs(站號-(select 站號 from @test where 站名='長沙')) as 站數
from @test b --反向
) as t
where **<=249 --限制**
order by 站數 desc,** desc --站數多的為遠,選擇站數最多的,一樣多的選擇**高的
--結果
站號 站名 ** 站數
----------- ---- ----------- -----------
1 廣州 50 1
(所影響的行數為 1 行)
python火車票票價 Python火車票機
我被困在乙個練習,我需要做乙個火車票機,但我只是乙個星期的練習python,我不知道如何開始。在 首先我得到了這個 stations schagen heerhugowaard alkmaar castricum zaandam amsterdam sloterdijk amsterdam cent...
12 4火車票問題
火車票訂購 火車經過x站,火車最大載客人數為m,有n個訂票請求,請求訂購從a站到b站的k張票,若能滿足訂購要求則輸出1,否則輸出0。資料從ticket.in中輸入,第一行有四個數,分別為n,m。接下來有n行,每行三個數分別為a,b,k。結果輸出到檔案ticket.out中。使用多個變數i j時不要把...
火車票業務
msgcode msginfo 100請求成功 101引數無效 102簽名驗證失敗 103該ip沒有許可權訪問此介面 104請求過於頻繁,請稍後重試 999未知的失敗原因 201該訂單不存在 202當前訂單狀態不允許執行此操作 203當前時間不支援此服務 204坐席無效 205發車日期無效 206取...