時間限制:10000ms
單點時限:1000ms
記憶體限制:256mb
描述小ho:喂不得了啦,那邊便利店的薯片半價了!
小hi:啥?!
小ho:那邊的便利店在打折**啊。
小hi:走走走,趕緊去看看=v=
於是小hi和小ho來到了便利店。
老闆為了**,推出了組合包的形式,將不同數量的各類商品打包成乙個組合,顧客可以選擇組合進行購買。比如2袋薯片,1聽可樂的組合只要5元,而1袋薯片,2聽可樂的組合只要4元。
通過詢問老闆,小hi和小ho知道:一共有n種不同的商品和m種不同的商品組合;每乙個組合的**等於組合內商品售價之和,乙個組合內同一件商品不會超過10件。
小hi:這樣算下來的話,一聽可樂就是1元,而一包薯片是2元。小ho,如果你知道所有的組合情況,你能分別算出每一件商品單獨的**麼?
小ho:當然可以了,這樣的小問題怎麼能難到我呢?
輸入第1行:2個正整數,n,m。表示商品的數量n,組合的數量m。1≤n≤500, n≤m≤2*n
第2..m+1行:n+1個非負整數,第i+1行第j列表示在第i個組合中,商品j的數量a[i][j]。第i+1行第n+1個數表示該組合的售價c[i]。0≤a[i][j]≤10, 0≤c[i]≤10^9
輸出若沒有辦法計算出每個商品單獨的**,輸出"no solutions"
若可能存在多個不同的結果,輸出"many solutions"
若存在唯一可能的結果,輸出n行,每行乙個非負整數,第i行表示第i個商品單獨的售價。資料保證如果存在唯一解,那麼解一定恰好是非負整數解。
樣例輸入
2 22 1 5
1 2 4
樣例輸出21
這坑爹oj沒資料,害的我拍了以上午,
題比較簡單,高斯消元的模板題,
注意eps要開double型別的
1 #include2 #include3 #include4 #include5using
namespace
std;
6const
int maxn=1001;7
const
double eps =1e-7
;8 typedef double
matrix[maxn][maxn] ;
9 inline void read(int &n)
1015
intn,m;
16matrix a;
17double
t[maxn];
18void
gauss()
1935}36
37for(int i=n,j;i<=m;i++)
38//
是否有解
4344
for(int i=n;i>=1;i--)//
枚舉行
4550
for(int i=1;i<=n;i++)
51 printf("
%d\n
",(int)(a[i][n+1]+0.5
));52}53
intmain()
54
高斯消元 hihocoder 1195
include include include include include include include include include include include include include include include include define mt a,b memset a...
數論 HihoCoder1195 高斯消元
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述小ho 喂不得了啦,那邊便利店的薯片半價了 小hi 啥?小ho 那邊的便利店在打折 啊。小hi 走走走,趕緊去看看 v 於是小hi和小ho來到了便利店。老闆為了 推出了組合包的形式,將不同數量的各類商品打包成乙個組合,顧客...
hihoCoder 1195 高斯消元 一
時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述小ho 喂不得了啦,那邊便利店的薯片半價了 小hi 啥?小ho 那邊的便利店在打折 啊。小hi 走走走,趕緊去看看 v 於是小hi和小ho來到了便利店。老闆為了 推出了組合包的形式,將不同數量的各類商品打包成乙個組合,顧客...