题目链接:http://acm.zzuli.edu.cn/problem.php?id=2617

  这个题本来想着靠排序过的,结果思来想去死活过不了只好用全排列暴力过了,关于全排列算法请自行百度,这里不再赘述(其实我也是现学的)。

#include<set>
#include<map>
#include<stack>
#include<queue>
#include<cmath>
#include<cstdio>
#include<cctype>
#include<string>
#include<vector>
#include<climits>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#define max(a, b) (a > b ? a : b)
#define min(a, b) (a < b ? a : b)
#define mst(a) memset(a, 0, sizeof(a))
#define _test printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n")
using namespace std;
typedef long long ll;
typedef pair<int, int> P;
const double eps = 1e-7;
const int INF = 0x3f3f3f3f;
const ll ll_INF = 233333333333333;
const int maxn = 1e4+10;
struct test {
ll a, b;
}num[10], temp[10];
ll res[maxn];
int kase;
void solve(int start, int n) {
if (start == n) {
ll sum = 0;
//_test;
for (int i = 0; i<n; ++i) { //求结果
//printf("%lld %lld\n", num[i].a, num[i].b);
sum += (num[i].b * sum + num[i].a);
}
res[kase++] = sum;
}
for (int i = start; i<n; ++i) { //求全排列
swap(num[start], num[i]); //交换
solve(start+1, n);
swap(num[i], num[start]); //复位
}
}
int main(void) {
int t;
scanf("%d", &t);
while(t--) {
kase = 0;
fill(res, res+maxn, ll_INF); //将储存答案的数组元素全部初始化为一个足够大的值,方便下面直接调用函数求最小值
int n;
scanf("%d", &n);
for (int i = 0; i<n; ++i)
scanf("%lld%lld", &num[i].a, &num[i].b);
solve(0, n); //计算出所有排列的可能结果
printf("%lld\n", *min_element(res, res+maxn));
}
return 0;
}

  

zzulioj - 2617 体检的更多相关文章

  1. codevs 1472 体检

    题目描述 Description 郑厂长不是正厂长 也不是副厂长 他根本就不是厂长 只是公司的一个码农 郑厂长所在的公司每一年都要组织员工体检,比如量身高体重.测血压之类的,今年也不例外. 这次总共有 ...

  2. C#体检套餐项目

    使用泛型集合写的一个小项目 1.要实现新建体检套餐,并且如果已经有了该体检套餐就不能再次新建, 2.要实现套餐列表动态更新,没添加一个体检套餐,在套餐列表里就自动添加一项; 3.向当前套餐类表里添加检 ...

  3. 几个功能强大的系统源码(机票分销、机票预订、OA、手机充值、wifi营销、网络超市、体检平台)

    1.机票分销.机票预订系统源码 2.OA系统源码 3.手机在线充值系统源码 4.wifi营销系统源码 5.网络超市系统源码 6.在线体检平台系统源码 7.违章查询与缴费系统源码 需要的同学请联系QQ: ...

  4. 字典集合Dictionary<K,V>和构造的应用==>>体检套餐项目

    效果 首先,我们先来准备我们需要的类 1.检查项目类 using System; using System.Collections.Generic; using System.Linq; using ...

  5. ZZULIOJ 1726 迷宫(BFS+小坑)

    1726: 迷宫 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 394  Solved: 64 SubmitStatusWeb Board Descr ...

  6. HDU----(4519)郑厂长系列故事——体检

    郑厂长系列故事——体检 Time Limit: 500/200 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total S ...

  7. YTU 2617: B C++时间类的运算符重载

    2617: B C++时间类的运算符重载 时间限制: 1 Sec  内存限制: 128 MB 提交: 284  解决: 108 题目描述 C++时间类的运算符重载 定义一个时间类Time,其数据成员为 ...

  8. YTU 2610: A改错题--体检情况分析

    2610: A改错题--体检情况分析 时间限制: 1 Sec  内存限制: 128 MB 提交: 233  解决: 161 题目描述 注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交. ...

  9. SUDT2177体检

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2177 题目描述 大家都知道,新生入学的前几周要 ...

随机推荐

  1. OSG :三维无序离散点构建Delaunay三角网

    利用OSG的osgUtil库里面的DelaunayTriangulator类. points是需要构建三角网的点 osgUtil::DelaunayTriangulator* trig = new o ...

  2. Zuul的高级使用

    原文链接:https://blog.csdn.net/u011820505/article/details/79373594

  3. 转: 彻底理解 Spring 容器和应用上下文

    本文由 简悦 SimpRead 转码, 原文地址 https://mp.weixin.qq.com/s/o11jVTJRsBi998WlgpfrOw 有了 Spring 之后,通过依赖注入的方式,我们 ...

  4. Prometheus监控学习笔记之prometheus 版本1.7 常用启动参数

    日志类: -log.level 可选值 [debug, info, warn, error, fatal]  例:-log.level "info" -log.format  可选 ...

  5. Laravel是怎样防止你的定时任务重复执行的

    基本介绍 有时候一个定时任务执行需要的时间可能会比我们想象的要长,这就会引起一个问题——当前任务还没有执行完毕的时候另一个相同的任务也会执行,从而导致任务重复.例如想象一下我们执行每分钟生成一次报告的 ...

  6. elasticsearch原理学习

    用es也差不多一年左右了,但是都是只会用,底层做了什么一窍不通,没有核心竞争力,循序渐进,一个一个攻破,理解的多了,读的多了,自然能力就上去了,es底层是基于lucene的,所以今天先从lucene下 ...

  7. Mybatis逆向工程的使用。

    指定配置文件与main运行生成 public class GeneratorSqlmap { public void generator() throws Exception { List<St ...

  8. Invalid attempt to spread non-iterable instance

    问题在于对数据的操作,或数据类型,或数据名称

  9. h5和native测试时的区别

    我们以往的APP是使用原生系统内核的,相当于直接在系统上操作,是我们传统意义上的软件,更加稳定 H5的APP先得调用系统的浏览器内核,相当于是在网页中进行操作,较原生APP稳定性稍差,似乎还没有百万级 ...

  10. 在dockers中调试dump的dotnet程序

    其他调试参考文章 centos7使用lldb调试netcore应用转储dump文件 centos7 lldb 调试netcore应用的内存泄漏和死循环示例(dump文件调试) 生成dump文件 如何在 ...