[Offer收割]程式設計練習賽2 hihocoder 1272 買零食 (DFS 或 dp 水題)
時間限制:5000ms
單點時限:1000ms
記憶體限制:256MB
描述
小Ho很喜歡在課間去小賣部買零食。然而不幸的是,這個學期他又有在一教的課,而一教的小賣部姐姐以冷若冰霜著稱。第一次去一教小賣部買零食的時候,小Ho由於不懂事買了好一大堆東西,被小賣部姐姐給了一個“冷若冰霜”的眼神,食慾都下降了很多。
從那以後,小Ho就學乖了,去小賣部買東西只敢同時買3包以內的零食,並且價格加起來必須是5的整數倍,方便小賣部姐姐算價格。
但是小Ho不擅長計算,所以他把小賣部裡所有零食的價格以及他對這個零食的渴望度都告訴了你,希望你能夠幫他計算出在不惹惱小賣部姐姐的前提下,能夠買到零食的渴望度之和最高是多少?
輸入
每個輸入檔案包含多組測試資料,在每個輸入檔案的第一行為一個整數Q,表示測試資料的組數。
每組測試資料的第一行為一個正整數N,表示小賣部中零食的數量。
接下來的N行,每行為一個正實數A和一個正整數B,表示這種零食的價格和小Ho對其的渴望度。
一種零食僅有一包。
對於100%的資料,滿足1 <= Q <= 10,1<=N<=50,0<A<=10,1<=B<=100。
對於100%的資料,滿足A的小數部分僅可能為0.5或0。
輸出
對於每組測試資料,輸出一個整數Ans,表示小Ho可以獲得最大的渴望度之和。
1
4
0.5 6
4.5 7
5.0 4
2.0 9
樣例輸出
17
題目連結:http://hihocoder.com/problemset/problem/1273
題目分析:資料很小,隨便搞,讀入的時候把小數轉整數,可避免精度問題
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
#include <vector>
using namespace std;
int ans, n, cost[55], val[55];
void DFS(int pos, int num, int p, int cnt)
{
if(num && num % 50 == 0 && cnt <= 3)
if(p > ans)
ans = p;
if(cnt > 3 || pos == n)
return;
DFS(pos + 1, num, p, cnt);
DFS(pos + 1, num + cost[pos], p + val[pos], cnt + 1);
}
int main()
{
int T;
scanf("%d", &T);
while(T --)
{
ans = 0;
int tmp1;
scanf("%d", &n);
double tmp;
for(int i = 0; i < n; i++)
{
scanf("%lf", &tmp);
cost[i] = (int) (tmp * 10.0);
scanf("%d", &val[i]);
}
DFS(0, 0, 0, 0);
printf("%d\n", ans);
}
}
相關文章
- [Offer收割]程式設計練習賽2 hihocoder 1273 (DFS + 狀壓)程式設計
- [Offer收割]程式設計練習賽1 hihocoder 1268 九宮 (DFS)程式設計
- [Offer收割]程式設計練習賽1 hihocoder 1270 建造基地 (完全揹包)程式設計
- [Offer收割]程式設計練習賽2 hihocoder 1275 掃地機器人 (計算幾何+模擬 比較煩)程式設計機器人
- [Offer收割]程式設計練習賽1 hihocoder 1271 艦隊遊戲 (狀態壓縮+貪心 好題)程式設計遊戲
- [Offer收割]程式設計練習賽1 hihocoder 1269 優化延遲 (二分+優先權佇列)程式設計優化佇列
- 程式設計假期練習題--2程式設計
- 團體程式設計天梯賽-練習集程式設計
- 3 月水題練習
- 程式練習題(2)
- 程式設計假期練習題--1程式設計
- 程式設計假期練習題--3程式設計
- 程式設計練習程式設計
- 團體程式設計天梯賽-練習集 L2-031 深入虎穴 (25分) dfs深搜+bfs廣搜的兩種思路程式設計
- hihocoder 1041 國慶出遊 (DFS + bitset 好題)
- C程式設計語言(第2版·新版)練習題1-6C程式程式設計
- C程式設計語言(第2版·新版)練習題1-7C程式程式設計
- C程式設計語言(第2版·新版)練習題1-4C程式程式設計
- C程式設計語言(第2版·新版)練習題1-5C程式程式設計
- C程式設計語言(第2版·新版)練習題1-8C程式程式設計
- 大一C語言程式設計練習題C語言程式設計
- 50道Java基礎程式設計練習題Java程式設計
- Python 程式設計練習Python程式設計
- 一些簡單的程式設計練習題程式設計
- dp專題訓練
- 團體程式設計天梯賽-練習集 L1-038 新世界程式設計
- 好程式設計師web前端分享前端 javascript 練習題程式設計師Web前端JavaScript
- 好程式設計師web前端教程分享javascript 練習題程式設計師Web前端JavaScript
- 第二週程式設計練習程式設計
- 《Java語言程式設計(基礎篇)(原書第10版)》第2~4章部分程式設計練習題程式碼Java程式設計
- 溫度轉換——MOOC《Python語言程式設計》第1周練習題2Python程式設計
- TensorFlow2程式設計練習——多層感知機MLP程式設計
- java語言程式設計基礎篇第七章程式設計練習題Java程式設計
- 好程式設計師web前端教程分javascript練習題-事件程式設計師Web前端JavaScript事件
- 好程式設計師web前端分享前端javascript練習題三程式設計師Web前端JavaScript
- 好程式設計師web前端分享前端javascript練習題一程式設計師Web前端JavaScript
- 結對程式設計——小學四則運算練習題小程式程式設計
- 關於程式設計的基本練習程式設計