P4744 A’s problem(a)
时间: 1000ms / 空间: 655360KiB / Java类名: Main

背景

冬令营入学测试题,每三天结算一次成绩。参与享优惠

描述

这是一道有背景的题目,小A也是一个有故事的人。但可惜的是这里纸张太小,小A无法把故事详细地说给大家听。可能小A自己也讲不清楚自己的故事,因为如果讲清了,也就没有这道题目了……

小A的问题是这个样子,它找到了n份不同的工作,第i份工作每个月有ai的工资,每份工作需要小A每天工作8小时,一周工作7天。小A想知道性价比最高(一个月的工资除以总时长)的工作的编号是多少。如果有多份,输出编号最小的就可以了。

输入格式

第一行一个数n,表示有n份工作。

接下来n个数表示ai。

输出格式

输出一个数表示答案。

备注

输入样例

5

3 3 4 5 5

输出样例

4

数据范围

对于100%的数据n<=100,1<=ai<=1000。

 #include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int n,a[],ans,last;
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",&a[i]);
ans=;last=a[];
for(int i=;i<=n;i++)
{
if(a[i]>last)
{
ans=i;last=a[i];
}
}
printf("%d",ans); return ;
}

P4745 B’s problem(b)
时间: 1000ms / 空间: 655360KiB / Java类名: Main

背景

冬令营入学测试

描述

题目描述

小B生活在一个很奇怪的国家里,这个国家的钱的面值只有可能是25,50,100的。小B最近在做社会实践,这次它选择在一个餐厅里干这件事情。但今天发生了一件有趣的事,这件事情是这个样子的,餐厅里大家都在排队买饭,粗心的打饭阿姨忘记要带零钱,并且所有排队打饭的人只带了一张钱。

具体地,第i个人带了一张面额为ai的钱,为了方便起见,我们规定每个人都想买价值25元的饭盒。阿姨显得不知所措。聪明的小B想到了一个方法,让带了25元的先买饭!这样阿姨就有了更多的零钱去找开一些面值较大的钱。

但这样对于一些人来说仍有可能找不开零钱,小B想知道是否存在一种排队方案,能够对所有人找开零钱。如果可行输出“YES”,否则输出“NO”。

输入格式

第一行一个数n,表示有n个想买饭的人。

接下来一行n个数ai,表示第i个人带着的钱的面额。

输出格式

输出“YES”或者“NO”。

备注

输入样例

3

25 50 100

输出样例

NO

数据范围

对于100%的数据n<=100,ai=25或者50或者100。

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,a[],momo=;
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%d",&a[i]);
a[i]/=;
}
sort(a+,a+n+);
int cnt=;
while(cnt<=n){
if(a[cnt]==) {
momo++;
cnt++;
}
if(a[cnt]>){
momo-=(a[cnt]-);
if(momo<) {
printf("NO");
return ;
}
cnt++;
}
}
printf("YES");
return ;
}

 #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int n,m,cost[],a,b,c;
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",&cost[i]);
for(int i=;i<=n;i++)
{
if(cost[i]==) a++;
if(cost[i]==) b++;
if(cost[i]==)c++;
}
int cnt=a-b;
if(cnt<){cout<<"NO"<<endl;return ;}
if(cnt==&&c==){cout<<"YES"<<endl;return ;}
if(cnt==&&c!=){cout<<"NO"<<endl;return ;}
else
{
if(c>b&&b+(c-b)*<=cnt){cout<<"YES"<<endl;}
if(c<=b&&c<=cnt){ cout<<"YES"<<endl;}
else {cout<<"NO"<<endl;}
}
return ;
}

枪'

P4746 C’s problem(c)
时间: 1000ms / 空间: 655360KiB / Java类名: Main

背景

冬令营入学测试

描述

题目描述

小C是一名数学家,由于它自制力比较差,经常通宵研究数学问题。

这次它因为这个数学问题已经两天两夜没有睡觉了,再不研究出来就要出人命了!快帮帮它吧!

这个问题是这样的,有一个数n,将其拆分成若干自然数之和,要求乘积最大!

如果你以为问题仅仅这么简单,那你就太naive了。

由于小C挑战自己的自我修养,它规定分成的自然数两两之间一定不能相等!

它请你输出这个乘积最大是多少,但这个答案太大了,小C并没有兴趣看那么长的数字,它只想知道这个数对1000000007取模后的值是多少。

输入格式

一行一个数表示n

输出格式

一个数表示答案

备注

输入样例

6

输出样例

8

数据范围

对于30%的数据n<=10。

对于50%的数据n<=10000。

对于100%的数据1<=n<=1000000000。

 #include<iostream>
#include<cstring>
#include<cstdio>
#define mod 1000000007
using namespace std;
long long n,ans=;
long long a[],cur=,num=;
int main()
{
scanf("%lld",&n);
while(n>=num){
n-=num;
cur++;
a[cur]=num;
num++;
}
if(cur<n) a[]+=n;
else if(n!=&&cur>=n){ a[cur-n+]=num; }
for(int i=;i<=cur;i++){
ans*=a[i];
ans%=mod;
}
printf("%lld",ans);
return ;
}

P4747 D’s problem(d)
时间: 1000ms / 空间: 655360KiB / Java类名: Main

背景

冬令营入学测试题

描述

题目描述

小D是一名魔法师,它最喜欢干的事就是对批判记者了。

这次记者招待会上,记者对于小D的数学很好奇。于是小D找了个方法把记者批判了一番。

它对记者抛出了这么一个问题:我有n点能量,写下数字i(1<=i<=9)需要花费a{i}点能量,我用这n点能量最多能写出什么数来?(当然可以不用光n点能量,具体看样例)

记者们一脸懵逼,于是来求助于你。

输入格式

一行10个数,表示n,a1,a2,a3,…,a9。

输出格式

一个数表示答案。

备注

输入样例1

10 2 2 1 2 2 2 2 2 2

输出样例1

3333333333

输入样例2

10 4 11 11 11 11 11 11 11 10

输出样例2

11

数据范围

对于30%的数据n,ai<=10。

对于60%的数据n,ai<=100。

对于100% 的数据1<=n,ai<=1000000,n>=min{ai}。

 #include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int n,minn=0x7fffffff,tmp;
int ans[];
struct node
{
int w;//写下p需要w点能量
int p;
bool operator <(const node &a)const
{
return p>a.p;
}
}a[];
int main()
{
scanf("%d",&n);
for(int i=;i<=;i++)
{
scanf("%d",&a[i].w);
a[i].p=i;
if(a[i].w<=minn)//minn当前耗费最小的能量
{
minn=a[i].w;
tmp=a[i].p;//耗费能量minn写下的最大的数
}
}
int cnt=n%minn,cur=n/minn;//cur:ans的位数,cnt:写下cur位tmp后剩下的能量
sort(a+,a+);
int k=;//从最高为开始更新当然更优 并且能换就换成 可以改成的数字中的最大值
for(int i=;i<=cur;i++) ans[i]=tmp;//写下cur位tmp
while(cnt)// 还有能量
{
bool ok=false;
for(int i=;i<=;i++)
if(a[i].p<=tmp) break;
else if(a[i].w-minn<=cnt)
{
ans[k]=a[i].p;//先更新,k再++
k++;
cnt=cnt-(a[i].w-minn);// 能量作差
ok=;
break;
}
if(ok) continue;
else break;
}
for(int i=;i<=cur;i++) cout<<ans[i];
return ;
}

P4748 E’s problem(e)
时间: 1000ms / 空间: 655360KiB / Java类名: Main

背景

冬令营入学测试

描述

题目描述

小B生活在一个很奇怪的国家里,这个国家的钱的面值只有可能是25,50,100的。小B最近在做社会实践,这次它选择在一个餐厅里干这件事情。但今天发生了一件有趣的事,这件事情是这个样子的,餐厅里大家都在排队买饭,粗心的打饭阿姨忘记要带零钱,并且所有排队打饭的人只带了一张钱。

具体地,第i个人带了一张面额为ai的钱,为了方便起见,我们规定每个人都想买价值25元的饭盒。阿姨显得不知所措。聪明的小B想到了一个方法,让带了25元的先买饭!这样阿姨就有了更多的零钱去找开一些面值较大的钱。

但这样对于一些人来说仍有可能找不开零钱,小B想知道是否存在一种排队方案,能够对所有人找开零钱。

但这个故事是关于小E的。

所以它并不关心能否有这么一种排队方案,它关心的是存在多少这样的排队方案。对于两个持有25元纸币的人,我们认为他们两个人交换位置仍然是同一种排队方案。(也就是说持有同一种纸币的人都可以看作相同的人)

由于答案很大,你只需输出答案对1000000007取模后的结果就可以了。

输入格式

第一行一个数n,表示有n个想买饭的人。

接下来一行n个数ai,表示第i个人带着的钱的面额。

输出格式

输出一个数表示答案。

备注

输入样例

5

25 25 25 50 100

输出样例

5

数据范围

对于30%的数据n<=8。

对于60%的数据n<=20。

对于100%的数据n<=40,ai=25或者50或者100。

 #include<cstdio>
using namespace std;
int n,ga,gb,gc,x,s;
// now 记录人数 aa bb cc阿姨手里的钱的各种面值的张数
// a b c人群中钱的各种面值的张数
void dfs(int now,int aa,int bb,int cc,int a,int b,int c)
{
if(now==n){
s++;//排完最后一个人了
s%=;
return;
}
if(a>){//还有手持25元的
dfs(now+,aa+,bb,cc,a-,b,c);//排上队,卖菜阿姨手里多了1张25,手持25的人减1个
}
if(b>&&aa>)//还有手持50元的,同时满足卖菜阿姨能找开钱
{
dfs(now+,aa-,bb+,cc,a,b-,c);
}
if(c>)
{
int f=;
if(bb>&&aa>) f=;//卖菜阿姨有50找钱先找50的
else if(aa>=) f=;//没有50的找钱找3张25
if(f==) dfs(now+,aa-,bb-,cc+,a,b,c-);//找钱找1张50,1张25,
else if(f==) dfs(now+,aa-,bb,cc+,a,b,c-); //找钱找3张25
} }
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%d",&x);
if(x==) ga++;//分别统计25、50、100的有几张
else if(x==) gb++;
else gc++;
}
dfs(,,,,ga,gb,gc);
printf("%d",s);
}
// 期望得分————60 悬 >_< >_<

2016 年末 QBXT 入学测试的更多相关文章

  1. AC日记——C’s problem(c) TYVJ P4746 (清北学堂2017冬令营入学测试第三题)

    P4746 C’s problem(c)   时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试 描述 题目描述 小C是一名数学家,由于它自制力比 ...

  2. 「Mobile Testing Summit China 2016」 中国移动互联网测试大会-议题征集

    时至北京盛夏,一场由 TesterHome 主办的关于移动互联网测试技术的盛会正在紧锣密鼓的筹备中.只要你关注软件质量,热爱测试,期待学习,都欢迎你加入这次移动测试技术大会中和我们一起分享经验.探讨话 ...

  3. 清北学堂2017NOIP冬令营入学测试P4749 C’s problem(c)

    P4746 C's problem(c) 时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试 描述 题目描述 小C是一名数学家,由于它自制力比较差 ...

  4. 清北学堂2017NOIP冬令营入学测试P4749 F’s problem(f)

    时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试 描述 这个故事是关于小F的,它有一个怎么样的故事呢. 小F是一个田径爱好者,这天它们城市里正在 ...

  5. 清北学堂2017NOIP冬令营入学测试P4745 B’s problem(b)

    清北学堂2017NOIP冬令营入学测试 P4745 B's problem(b) 时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试 描述 题目描 ...

  6. 清北学堂2017NOIP冬令营入学测试 P4744 A’s problem(a)

    清北学堂2017NOIP冬令营入学测试 P4744 A's problem(a) 时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试题,每三天结算 ...

  7. 清北学堂2017NOIP冬令营入学测试

    P4744 A's problem(a) 时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试题,每三天结算一次成绩.参与享优惠 描述 这是一道有背 ...

  8. 清北学堂入学测试P4751 H’s problem(h)

    P4751 H’s problem(h)  时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试 描述 小H是一个喜欢逛街的女孩子,但是由于上了大学 ...

  9. Tyvj2017清北冬令营入学测试

    P4744 A's problem(a) 时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试题,每三天结算一次成绩.参与享优惠 描述 这是一道有背 ...

随机推荐

  1. 外文翻译 《How we decide》多巴胺的预言 第一节

    这是第二章的起始... 书的导言 1991年2月24日凌晨.第一与第二海军陆战队大批向北进入了沙特阿拉伯的沙漠地带,他们从这来进入科威特.这批军队是伊拉克入侵8个月以来,同盟国第一批进入科威特的部队. ...

  2. AJPFX关于java的依赖 关联 聚合的关系解释

    依赖:  两个相对独立的系统,当一个系统要构筑另一个系统的实例,或者依赖另一的服务时,这两个就是依赖关系.比如自行车和打气筒之间就是依赖关系.代码表现形式如下:    public class A{  ...

  3. 【转】JobScheduler

    JobScheduler JobScheduler是Android L(API21)新增的特性,用于定义满足某些条件下执行的任务.它的宗旨是把一些不是特别紧急的任务放到更合适的时机批量处理,这样可以有 ...

  4. Android小玩意儿-- 从头开发一个正经的MusicPlayer(一)

    之前从未接触过音乐播放器这块东西的开发.今天偶然想做一个自己的音乐播放器.算是练练手.既然要做,就要做一个正儿八经的App.很多网上的资料也是模模糊糊,不是很全,现在开始,自己摸索着尝试着一步一步的做 ...

  5. sql语句分为三类(DML,DDL,DCL)-介绍

    本文知识来源自:<Oracle专家高级编程> 分享作者:Vashon 时间:20150415 DDL is Data Definition Language statements. Som ...

  6. COGS 1. 加法问题 (水体日常)

    这是一个经典的入门问题,通过此问题,你可以学会如何使用该评测系统. [问题描述] 现在有两个实数,分别是A和B.请你从文件中读取A和B,计算它们的和A+B,并把它输出到文件中.(保留到整数) [输入格 ...

  7. ROI(Region of Interesting)

    ROI(region of interest),感兴趣区域.机器视觉.图像处理中,从被处理的图像以方框.圆.椭圆.不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI.在Halcon.Ope ...

  8. vc++创建多线程应用

    构建线程参数结构体: typedef struct { int nIndex; HANDLE hThread; int param1; ... }ThreadParam; 创建线程数组: Thread ...

  9. ERROR: HHH000091: Expected type: java.sql.Timestamp, actual value: java.lang.Integer

    在将MySql的数据对应到Java的实体类的时候, 遇到了错误 关键点: Hibernate从mysql数据库查出来的Timestamp类型的数据, 会被Hibernate(或者是数据库连接池Drui ...

  10. QT5:总结篇 控件集合

    一.Layouts 二.Spacers 三.Buttons 四.Item Views(Model-Based) 五.Item Widgets(Item-Based) 六.Containers 七.In ...