ICode9

精准搜索请尝试: 精确搜索
  • [2011年NOIP普及组] 瑞士轮2022-08-13 14:36:08

    试题分析:这道题目考察的是排序与模拟,题目要求明确,我们只需要模拟出来即可,我们需要对分数进行排序,而sort的时间复杂度为o(logn),所以会超时,所以我们选择归并,归并的时间复杂度为o(n),这里我用了<algorithm>中自带的merge函数。 代码如下:  

  • [2016年NOIP普及组] 买铅笔2022-08-13 11:34:43

    [2016年NOIP普及组] 买铅笔 思路:P老师决定只买同一种包装的铅笔同时也要最划算,那么可以循环进行3次计算。每次的价格都与最小值比较,如果小于最小值,就代替当前最小值。 分析:计算时,要算出买几包铅笔。商店不允许将铅笔的包装拆开——也就是当铅笔数量不能被每包铅笔的数量整除时,因此

  • [2009年NOIP普及组] 分数线划定2022-08-13 11:30:21

    [2009年NOIP普及组] 分数线划定 分析:根据题意,定义结构体将序号与成绩联系起来,这时sort函数排序不符合题意,需根据题意手打排序,根据题目给出的条件求人数和分数线,还需注意的一点是,如果有人的成绩等于分数线,那么也把他算进人数中,需要加个for循环过一遍入围人选,再用if语句判断即可。

  • [2015年NOIP普及组] 金币2022-08-13 10:30:08

    [2015年NOIP普及组] 金币 思路:第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每

  • [2004年NOIP提高组] 津津的储蓄计划2022-08-13 09:06:17

    津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的

  • [2011年NOIP普及组] 瑞士轮2022-08-13 09:05:20

    首先归并排序,先比较,放入胜者组和败者组,去掉之前的分离,直接继续归并 #include<bits/stdc++.h>using namespace std; int n,q,bsl[2000001],bxh[2000001],bfs[2000001],ll,rr,rrr;int i,j,ij,ii;struct a{ int xh; int fs; int sl;}a[200002],w[100002],f[100002];void ef(int l,int

  • [2008年NOIP普及组] 排座椅2022-08-13 09:05:04

    用桶排排序,用贪心找出最优解 #include<bits/stdc++.h>using namespace std; int m,n,k,d,l,a,b,c,e,maxs,bj;int i,j,ii,mm[33000],ll[23000],ms[33000],ls[33000];int main(){ cin>>m>>n>>k>>l>>d; for(j=1;j<=d;j++){ cin>>a>>b>

  • [2003年NOIP普及组] 乒乓球2022-08-13 09:04:41

    【问题背景】国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响

  • [2003年NOIP普及组] 乒乓球2022-08-13 09:02:56

    国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响。在开展他的

  • [2010年NOIP普及组] 数字统计2022-08-13 09:00:08

    请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。比如在给定范围[2, 22],数字2在数2中出现了1次,在数12中出现了1次,在数20中出现了1次,在数21中出现了1次,在数22中出现了2次,所以数字2在该范围内一共出现了6次。 输入 输入共一行,为两个正整数L和R,之间用一个空格隔开。 输出

  • [2010年NOIP普及组] 数字统计2022-08-13 08:33:11

    [2010年NOIP普及组] 数字统计题目大意是在[l,r]这个区间中,统计所有数字的每一位上有多少2。很明显,这个题目要用到数字拆分。代码如下:int a=i;while(a!=0){int b;b=a%10;//单独提出最后一位if(b==2)n++;//统计a=(a-b)/10;//删除最后一位,让倒数第二位成为最后一位,重复上述过程}总代

  • [2005年NOIP普及组] 陶陶摘苹果2022-08-13 08:32:29

    给能够到的高度加30,依次比较 #include<bits/stdc++.h>using namespace std;int main(){ int a[17],i,j,s=0; for(i=1;i<=10;i++){ cin>>a[i]; } cin>>j; j=j+30; for(i=1;i<=10;i++){ if(a[i]<=j){ s++; } } cout<<s;}

  • [2004年NOIP提高组] 津津的储蓄计划2022-08-13 08:32:04

    将每月得到的与原有的和花费比较,注意最后一月剩下的加起来 #include<bits/stdc++.h>using namespace std;int main(){ int a[15],i,j=0; double ss,s=0; for(i=1;i<=12;i++){ cin>>a[i]; } for(i=1;i<=12;i++){ j=j+300; if(j<a[i]){ cout<<"-"<<i; r

  • [2003年NOIP普及组] 乒乓球2022-08-13 08:31:19

    注意如果一名选手为11(21)分,而另一名选手与其分的差距小于2,则比赛继续进行,直到差距等于2为止 #include<bits/stdc++.h>using namespace std;int i=0,j,w=0,l=0;char a[90000];int main(){ while(1){ i++; cin>>a[i]; if(a[i]=='E'){ i--; break; } } for(j=1;j<=i;j++){ if

  • [2010年NOIP普及组] 数字统计2022-08-13 08:30:40

    用分离法得出每位上的2 #include<bits/stdc++.h>using namespace std;int main(){ int l,i,r,s=0,j; cin>>l>>r; for(i=l;i<=r;i++){ j=i; while(j>0){ if(j%10==2){ s++; } j=j/10; } } cout<<s;}

  • [2015年NOIP普及组] 金币2022-08-13 08:30:18

    模拟出每天骑士获得的金币,加起来 #include<bits/stdc++.h>using namespace std;int main(){ int n,i,j=0,s=0,bj=1; cin>>n; for(i=1;i<=n;i++){ j++; s=s+bj; if(j==bj){ bj++; j=0; } } cout<<s;}

  • [2007年NOIP普及组] 奖学金2022-08-12 21:32:37

    3.[2007年NOIP普及组] 奖学金 l  分析:根据题意,定义结构体,学号与成绩联系起来,在sort函数的基础上根据题意写一个排序函数(主要是if的应用),最后输出前五名。 l    #include<cstdio> #include<iostream> #include<algorithm> using namespace std; struct node//定义结构体 {    

  • [2006年NOIP普及组] 明明的随机数2022-08-12 21:31:18

    1. [2006年NOIP普及组] 明明的随机数 l  分析:根据题意,设置一个标记数组和一个计数器,用for语句将数过一遍,将第一次出现的数标记为一,计数器加一,输出计数器就是不同随机数的个数,再用for语句将指定范围内的数过一遍,将其中已标记的数输出。 l    #include<cstdio> #include<iostream

  • 2009年NOIP普及组 分数线划定2022-08-12 20:34:57

    试题解析:本题要考虑两点,1.按照笔试成绩从高到低输出,2.如果成绩相同,则按报名号由小到大的顺序输出。所以我们运用了sort函数进行排序,用了结构体同时比较成绩以及报名号。如果最后到达分数线的大于预订人数,我们就要扩展人数。 代码如下:  

  • 2016年NOIP普及组 买铅笔2022-08-12 19:30:08

    试题分析:本题重在计算每种笔最少买多少盒,然后进行比较,寻找最小即可。 注意:minn变量开大,不然会wa。  

  • 2003年NOIP普及组 乒乓球2022-08-12 18:33:38

    试题分析:题目说明了十一分制与二十一分制要求,所以我们模拟即可,注意要大于对手两分才算赢,否则比赛继续进行。 注:由于格式问题,博主只好用数组存储数据进行二次判断。  

  • 2010年NOIP普及组 数字统计2022-08-12 18:31:37

    题目描述:题目要求统计l-r之间“2”出现的次数,其实也就是要求将l-r之间每个数字进行分离,寻找2,若出现,则累加。 代码如下:  

  • [2004年NOIP提高组] 津津的储蓄计划2022-08-12 08:33:20

    [2004年NOIP提高组] 津津的储蓄计划 思路:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里(存妈妈那里会有20%的利润),剩余的钱留在自己手中。 分析:当津津手中的钱加上这个月妈妈给的钱,不足以支撑这个月的原

  • [2003年NOIP普及组] 乒乓球2022-08-12 08:33:11

    [2003年NOIP普及组] 乒乓球 思路:将两人比赛成绩分别同时计分,满足比赛规则就记录,依次输出。 分析:在比赛中,当双方比分都大于等于10的情况下要连续赢两球,才算赢。 注意:比完了第一场,下一场还没开始,那也要输出0:0 #include<cstdio> #include<iostream> using namespace std; int main()

  • [2010年NOIP普及组] 数字统计2022-08-12 08:32:57

    [2010年NOIP普及组] 数字统计 思路:既然要统计某个给定范围[L, R]的所有整数中,数字2出现的次数,就可以将这个范围中的数的所有位数取出来。当有2时,计数器+1。 注意:取余后不要忘记原数/10。 代码如下: #include<iostream> #include<algorithm> #include<cstring> using namespace std;

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有