[TIOJ] 1641. 貨物運送計劃
題目連結: http://tioj.infor.org/problems/1641 看完 CBD的題解 後,覺得自己滿蠢的,其實取個log後最dijkstra就好了www。我這裡是自己寫了個簡單(?的科學記號模板來用,做法就依樣是裸的dijkstra。 #include <bits/stdc++.h>
using namespace std;
#define PB push_back
typedef pair<double,int> PDI;
#define FF first
#define SS second
const int N = 10000 + 5;
struct SciFi{
double x; int p;
SciFi(){x=0;p=0;}
SciFi(double k){
p = floor(log10(k));
x = k / pow((double)10, p);
}
SciFi(double a, int b){
x=a;p=b;
}
SciFi operator=(double k){
p = floor(log10(k));
x = k / pow((double)10, p);
return *this;
}
SciFi operator*(SciFi k)const{
int nP = p+k.p;
double nX = x*k.x;
int tp = floor(log10(nX));
return SciFi(nX/pow((double)10, tp), ...