BC一周年练习赛
2015-07-26 14:51
281 查看
Souvenir
Accepts: 901Submissions: 2743
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 262144/262144 K (Java/Others)
Problem Description
Today is the 1st anniversary of BestCoder. Soda, the contest manager, wants to buy a souvenir for each contestant. You can buy the souvenir one by one or set by set in the shop. The price for a souvenir is $p$ yuan and the price for a set of souvenirs if $q$ yuan. There's $m$ souvenirs in one set. There's $n$ contestants in the contest today. Soda wants to know the minimum cost needed to buy a souvenir for each contestant.
Input
There are multiple test cases. The first line of input contains an integer $T$ $(1 \le T \le 10^5)$, indicating the number of test cases. For each test case: There's a line containing 4 integers $n, m, p, q$ $(1 \le n, m, p, q \le 10^4)$.
Output
For each test case, output the minimum cost needed.
Sample Input
2 1 2 2 1 1 2 3 4
Sample Output
1 3
Hint
For the first case, Soda can use 1 yuan to buy a set of 2 souvenirs. For the second case, Soda can use 3 yuan to buy a souvenir.
有点贪心的意味,整套买省钱的尽量整套买,不能整套买的,看一整套与单个买哪个省钱。然而终测没过,然后交,并没有终测数据。。。
#include <cstdio> #include <iostream> #include <algorithm> #include <cstring> using namespace std; char str[110]; char const s[] = "anniversary"; int vis[110]; int len, h; bool dfs(int a, int b) { h++; int i, j, k; for(i = a; i < len; ++i) { k = b; if(str[i] == s[k]) { k++; for(j = i+1; j < len; ++j) { if(str[j] != s[k]) break; k++; } if(s[k] == '\0' && h<=3) return true; if(dfs(j, k)) { return true; } } } h--; return false; } int main() { int T; scanf("%d%*c", &T); while(T--) { gets(str); len = strlen(str); h = 0; if(dfs(0, 0)) cout << "YES" << endl; else cout << "NO" << endl; } return 0; }
View Code
相关文章推荐
- [PHP插件教程]002.代码包PHP Beautifier的使用
- 为Xcode添加和备份快捷代码
- ROS学习--(三)浏览ROS文件系统的几个命令
- PICT
- leetcode笔记:Remove Element
- [Android Pro] 利用tcpdump和wireshark对android网络请求进行分析
- POJ 1006 Biorhythms(中国剩余定理)
- HDU 1091 空心三角形
- 关于重定向和转发的理解
- 周工作总结及计划表
- C# 弹出窗体位置设定
- Least Common Multiple
- 理解JavaScript闭包
- HDU 4576 Robot 概率DP 水题
- 食物链--poj1182
- Java对象的equals方法分析与重写
- python循环语句
- 利用无名对象初始化对象系统不会调用拷贝构造函数
- 九度oj 1064
- Shell下获取系统时间及转换为时间戳的方法