Day 11 找硬幣(雙指標 雜湊表)

2021-10-16 17:09:31 字數 1248 閱讀 9891

acwing 1532.找硬幣

伊娃喜歡從整個宇宙中收集硬幣。

有一天,她去了一家宇宙購物中心購物,結賬時可以使用各種硬幣付款。

但是,有乙個特殊的付款要求:每張帳單,她只能使用恰好兩個硬幣來準確的支付消費金額。

給定她擁有的所有硬幣的面額,請你幫她確定對於給定的金額,她是否可以找到兩個硬幣來支付。

輸入格式

第一行包含兩個整數 nn 和 mm,分別表示硬幣數量以及需要支付的金額。

第二行包含 nn 個整數,表示每個硬幣的面額。

輸出格式

輸出一行,包含兩個整數 v1,v2v1,v2,表示所選的兩個硬幣的面額,使得 v1≤v2v1≤v2 並且 v1+v2=mv1+v2=m。

如果答案不唯一,則輸出 v1v1 最小的解。

如果無解,則輸出no solution

資料範圍

1≤n≤1051≤n≤105,

1≤m≤10001≤m≤1000

輸入樣例1:

8 15

1 2 8 7 2 4 11 15

輸出樣例1:

4 11
輸入樣例2:

7 14

1 8 7 2 4 11 15

輸出樣例2:

no solution
雙指標演算法

#include #include using namespace std;

const int n = 100010;

int n,m;

int w[n];

int main()

}puts("no solution");

return 0;

}

雜湊表寫法 

#include #include #include using namespace std;

const int inf = 10000;

int main()

else hash.insert(a);

}if(v1 == inf) puts("no solution");

else

printf("%d %d\n",v1,v2);

return 0;

找硬幣 雜湊表

伊娃喜歡從整個宇宙中幫小柏同學收集硬幣。有一天,她去了一家宇宙購物中心購物,結賬時可以使用各種硬幣付款。但是,有乙個特殊的付款要求 每張帳單,她只能使用恰好兩個硬幣來準確的支付消費金額。給定她擁有的所有硬幣的面額,請你幫她確定對於給定的金額,她是否可以找到兩個硬幣來支付。輸入格式 第一行包含兩個整數...

找硬幣 STL 雜湊表應用

題目鏈結第一行包含兩個整數 n 和 m,分別表示硬幣數量以及需要支付的金額。第二行包含 n 個整數,表示每個硬幣的面額。輸出一行,包含兩個整數 v1,v2,表示所選的兩個硬幣的面額,使得 v1 v2 並且 v1 v2 m。如果答案不唯一,則輸出 v1 最小的解。如果無解,則輸出 no solutio...

Day 11 指標初學

指標的概念 計算機中所有的資料都必須放在記憶體中,不同型別的資料占用的位元組數不一樣,例如 int 占用4 個位元組,char 占用1 個位元組。為了正確地訪問這些資料,必須為每個位元組都編上號碼,就像門牌號 身份證號一樣,每個位元組的編號是唯一的,根據編號可以準確地找到某個位元組。我們將記憶體中位...