鏈結
a,b為最快和次快
有兩種方式可以使c,d過橋
一是a與c一起走,a回來接d再與d一起走,一直到對岸人為0為止
而是 a與b一起走 a回來送燈 c與d一起走 b回來送燈 重複此過程。
只剩2人時 直接過橋
3 人時 a回來送燈 ac走 a回來送燈 ab走
1 #include 2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #includeview code10using
namespace
std;
11#define n 1010
12#define ll long long
13#define inf 0xfffffff
14const
double eps = 1e-8;15
const
double pi = acos(-1.0
);16
const
double inf = ~0u>>2;17
inta[n];
18int
main()
1931 sort(a+1,a+n+1
);32
int g =n;
33int ans = 0;34
while(g>3)35
40if(g==3
)41 ans+=a[1]+a[2]+a[g];
42else
if(g==2
)43 ans+=a[2
];44 cout
45 g =n;
46while(g>3)47
55if(g==3
)56 printf("
%d %d\n%d\n%d %d\n
",a[1],a[g],a[1],a[1],a[2
]);57
else
if(g==2
)58 printf("
%d %d\n
",a[1],a[2
]);59}60
return0;
61 }
SICP練習 85 練習2 57
看到題目中的能處理任意項就趕緊這道題挺難的,同時也想到了前面學過但還沒怎麼用過的點引數。題目中要能求和還能求乘積。我們先來寫求和的函式吧。define make sum a1 a2 if single operand?a2 let a2 car a2 cond number?a10 a2 numbe...
SICP練習 85 練習2 57
看到題目中的能處理任意項就趕緊這道題挺難的,同時也想到了前面學過但還沒怎麼用過的點引數。題目中要能求和還能求乘積。我們先來寫求和的函式吧。define make sum a1 a2 if single operand?a2 let a2 car a2 cond number?a10 a2 numbe...
SGU 257 Debt 貪心 模擬
題意 有乙個人欠三個人分別p o s 1 p o s 10 5 塊錢,現在這個人手裡有n 1 n 10 5 塊crystal,但是每塊crystal在不同人看來是不一樣的 價值 1塊或者2塊 現在問是否存在一種分配方案使得能還清3個人的錢。題解 首先給不同的crystal排優先順序,然後列舉滿足三個...