Problem 2086 餐厅点餐

Problem Description

Jack最近喜欢到学校餐厅吃饭,好吃干净还便宜。

在学校餐厅,有a种汤,b种饭,c种面条,d种荤菜,e种素菜。

为了保证膳食搭配,Jack每顿饭都会点1~2样荤菜,1~2样素菜(不重复)。同时,在Jack心情好的时候,会点一样饭,再配上一种汤。在心情不好的时候,就只吃一种面条。

因为经济有限,Jack每次点餐的总价在min~max之间。Jack想知道,总共有多少种不同的点餐方案。

 Input

输入数据第一行包含一个整数T,表示测试数据的组数,对于每组测试数据:

第一行为整数a,b,c,d,e(0<a,b,c,d,e<=10)

第二行为a个大于零的整数,表示a种汤的价格

第三行为b个大于零的整数,表示b种饭的价格

第四行为c个大于零的整数,表示c种面条的价格

第五行为d个大于零的整数,表示d种荤菜的价格

第六行为e个大于零的整数,表示e种素菜的价格

第七行为两个整数min max,表示每次点餐的价格范围

 Output

对于每组测试数据,输出一行,包含一个整数,表示点餐方案数。

 Sample Input

1
2 2 2 2 2
2 3
3 1
5 2
1 4
3 6
5 8

 Sample Output

3

 Answer

想说:这什么鬼!!!其实这个题目就是一个嵌套(2+(2||1))循环,在买下下一样物品之前,保存现在花的钱,处理完下面的循环再恢复回来。

 Code

#include <iostream>
#include <cstdio>
#include <string>
#include <set>
#include <algorithm>
#include <vector>
#include <cstring>
#define ms(a) memset(a,0,sizeof(a))
using namespace std;
int main()
{
int N;
int a,b,c,d,e,ans,n,m,cnt,save;
int va[],vb[],vc[],vd[],ve[];
//int via[11],vib[11],vic[11],vid[11],vie[11];
//freopen("in.txt","r",stdin);
cin>>N;
while(N--)
{
ans=;
cin>>a>>b>>c>>d>>e;
ms(va),ms(vb),ms(vc),ms(vd),ms(ve);
//ms(via),ms(vib),ms(vic),ms(vid),ms(vie);
for(int i=; i<=a; i++)cin>>va[i];
for(int i=; i<=b; i++)cin>>vb[i];
for(int i=; i<=c; i++)cin>>vc[i];
for(int i=; i<=d; i++)cin>>vd[i];
for(int i=; i<=e; i++)cin>>ve[i];
cin>>n>>m;
for(int i=; i<=e; i++)
{
cnt=ve[i];
//vie[i]=1;
save=cnt;
//printf("%d ",ve[i]);
for(int ii=; ii<=e; ii++)
{
if(cnt<n&&cnt>m)break;
//if(vie[ii])continue;
cnt+=ve[ii];
//printf("%d ",ve[ii]);
//vie[ii]=1;
int save2=cnt;
for(int j=; j<=d; j++)
{
if(cnt<n&&cnt>m)break;
cnt+=vd[j];
//printf("%d ",vd[j]);
//vid[j]=1;
int save3=cnt;
for(int jj=; jj<=d; jj++)
{
if(cnt<n&&cnt>m)break;
//if(vid[jj])continue;
cnt+=vd[jj];
//printf("%d ",vd[jj]);
int save4=cnt;
for(int k=; k<=b; k++)
{
if(cnt<n&&cnt>m)break;
cnt+=vb[k];
//printf("%d ",vb[k]);
int save5=cnt;
for(int kk=; kk<=a; kk++)
{
if(cnt<n&&cnt>m)break;
cnt+=va[kk];
//printf("%d ",va[kk]);
if(cnt>=n&&cnt<=m)ans++;
cnt=save5;
//printf("\n");
}
cnt=save4;
}
//cnt=save4;
for(int k=; k<=c; k++)
{
if(cnt<n&&cnt>m)break;
cnt+=vc[k];
if(cnt>=n&&cnt<=m)ans++;
cnt=save4;
}
if(jj==)jj=j;
cnt=save3;
}
cnt=save2;
//vid[j]=0;
}
cnt=save;
//vie[ii]=0;
if(ii==)ii=i;
}
//vie[i]=0;
}
printf("%d\n",ans);
}
return ;
}

FZU 2086 餐厅点餐(模拟)的更多相关文章

  1. [ACM] FZU 2086 餐厅点餐 (枚举)

    roblem Description Jack近期喜欢到学校餐厅吃饭.好吃干净还廉价. 在学校餐厅.有a种汤,b种饭.c种面条,d种荤菜,e种素菜. 为了保证膳食搭配,Jack每顿饭都会点1~2样荤菜 ...

  2. FZU 2086 餐厅点餐

     好久不写博客了……得有快一个月了……看到大神们一篇篇博文 唉……差好多……这一个月 有蓝桥杯还有校赛……校赛签到题都没签完 实力铁牌……不过蓝桥杯一等奖 五月份帝都之行还挺令人期待……清明小长假之前 ...

  3. FZU 2086 餐厅点餐(枚举)

    ///个人感觉vector好看一点 #include<iostream> #include<cstdio> #include<cstring> #include&l ...

  4. 餐厅点餐APP总结

    总结:经过这几个月的时间里,我们通过学习.讨论一起做出了餐厅点餐这个APP,我们在做这个APP的过程中,每个人都有自己的想法,也通过讨论最后做出了这个app,虽然做的不是很好,但是我们也尽自己的努力尽 ...

  5. FZU 2032 Log函数问题 模拟小数加法

    题目链接:Log函数问题 2 / 49 Problem G FZU 2032 Log函数问题 不知道为什么...比赛时高精度难倒了一票人...成功搞出大新闻... 试了一下直接double相加超时,然 ...

  6. 安卓餐厅点餐系统---针对浩然android工作室的一个小白的分析

    昨天刚把浩然android工作室的下载下来了,为了研究下点餐系统的架构,更好的完成手中的项目,便写出一个分析报告(小白的分析,忘见谅!) 本项目app主要用于餐厅无线订餐使用,功能突出餐厅的订餐需求, ...

  7. iOS- UIPickerView餐厅点餐系统

    在餐厅里的点餐系统的核心控件就是UIPickerView 今天晚上在整理以前的项目笔记时,特意把UIPickerView单独拿出来,做了一个简陋的点餐道具. 因为没有素材图片,所有大家将就看看吧 0. ...

  8. FZU 2216 The Longest Straight 模拟

    题目链接:The Longest Straight 就是一个模拟就是这样,T_T然而当时恶心的敲了好久,敲完就WA了,竟然有这么简单的方法,真是感动哭了.......xintengziji...zhi ...

  9. FZU 1078 计算循环冗余码【模拟】

    计算机网络中采用循环冗余码来校验数据的正确性.其原理是:发送方计算出待发送的二进制数据的循环冗余码,并随同原数据一起发送到接收方:接收方通过重新计算接收到的数据的循环冗余码,并和收到的循环冗余码进行比 ...

随机推荐

  1. MVC 控制器

    ASP.NET MVC控制器(一) 前言 在路由的篇章中讲解了路由的作用,讲着讲着就到了控制器部分了,从本篇开始来讲解MVC中的控制器,控制器是怎么来的?MVC框架对它做了什么?以及前面有的篇幅所留的 ...

  2. 史上最全的Matlab资源电子书教程和视频下载合集【超级推荐】

    收藏吧,网上搜集的,费了老大劲了,推荐给有需要的人,^_^.   MATLAB课件2007北京交通大学.zip 4.87 MB   A Guide to MATLAB for Beginners an ...

  3. 网​址​U​R​L​中​特​殊​字​符​转​义​编​码

    网址URL中特殊字符转义编码 字符 - URL编码值 空格 - %20 " - %22 # - %23 % - %25 & - %26 ( - %28 ) - %29 + - %2B ...

  4. windbg Symbol file path

    SOS是一个调试器扩展,用于调试.NET应用程序.它提供了一组非常丰富的命令,这些命令使开发人员可以对CLR进行深入分析,并且有助于找出应用程序中各种复杂错误的原因.   由于SOS能够提供CLR内部 ...

  5. div光标定位问题总结

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 《12个有趣的C语言问答》(4)

    C语言面试问答——<12个有趣的C语言问答>评析(4) 前文链接:http://www.cnblogs.com/pmer/p/3324063.html 8,Making changes i ...

  7. 初探中间件(middleware)

    初探中间件(middleware) 因为考虑到文章的长度, 所以 BaseHandler 的展开被推迟了. 在 BaseHandler 中隐藏着中间件的信息, 较常见的 SessionMiddlewa ...

  8. GeoHash核心解析

    GeoHash核心解析 引子 机机是个好动又好学的孩子,平日里就喜欢拿着手机地图点点按按来查询一些好玩的东西.某一天机机到北海公园游玩,肚肚饿了,于是乎打开手机地图,搜索北海公园附近的餐馆,并选了其中 ...

  9. weblogic配置修改java代码后不需要重启热部署方式

    我用的是weblogic8.x 在项目的WEB-INFO中创建weblogic.xml --------以下内容复制到weblogic.xml中------------ <!DOCTYPE we ...

  10. 项目做成jar包

    项目做成jar包 方法一.在eclipse3.1中把项目做成jar包步骤. 打包前的工作. 在项目下创建一个文件夹,名为META-INF,再在其下创建文件MANIFEST.MF 编辑的内容如下: Ma ...