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. js urlencode , encodeURIComponent

    js 对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent ...

  2. Julia语言:让高性能科学计算人人可用

    Julia语言:让高性能科学计算人人可用要:一群科学家对现有计算工具感到不满:他们想要一套开源系统,有C的快速,Ruby的动态,Python的通用,R般在统计分析上得心应手,Perl的处理字符串处理, ...

  3. ASP.NET MVC显示WebForm网页或UserControl控件

    ASP.NET MVC显示WebForm网页或UserControl控件 学习与使用ASP.NET MVC这样久,还是对asp.net念念不忘.能否在asp.net mvc去显示aspx或是user ...

  4. 获得WCF Client端的本地端口

    获得WCF Client端的本地端口 最近需要做个小功能,当WCF调用远程服务时,显示该调用的网速或流量.其中比较关键的一步就是需要获得WCF  Client端的本地端口,原来以为是个简单的事情,结果 ...

  5. 浅谈DevExpress<六>:为chart创建动态数据源

    今天搞点稍微复杂些的东西,在列表中点击不同的行时,图表中显示和其数据关联的图,效果如下:

  6. 【ios开发】Block编程

    1 什么是block iOS SDK 4.0开始,Apple引入了block这一特性.字面上说,block就是一个代码块,但是它的神奇之处在于在内联(inline)执行的时候(这和C++很像)还可以传 ...

  7. SQL 语句中的union操作符

    前端时间,用到了union操作符,周末有时间总结下,w3c手册内容如下: SQL UNION操作符 UNION操作符用于合并两个或多个select语句的结果集. 注意:UNION内部select语句必 ...

  8. 如何去除AJAX收到数据中包含的html页面数据

    问题: 如下代码所示,我用AJAX收到来自url: 'kzkj_check.jsp',返回的数据msg,总是包含页面的html数据,可是我只想要我返回的数据“false”, $.ajax({ url: ...

  9. 新浪微博SDK在Eclipse引入

    新浪微博SDK在Eclipse中的使用 新浪微博SDK在Eclipse中的使用 今天在看<Android开发应用实战>,全书都在讲一个android版的新浪微博客户端怎么做,于是按照书上步 ...

  10. D3D游戏降帧的动态创建D3D设备以及ShellCode HOOK玩法

    欢迎转载,转载请注明出处:http://blog.csdn.net/gnorth/article/details/9327971 说白了,也就是HOOK掉Present,这种代码,其实百度上某些地方有 ...