新生28场
上线人数分数
题目描述
余姚中学高三全省联考刚刚结束,经过各科老师的努力,各个学科的改卷工作终于结束了,每位同学的各科分数也已经结算完毕。此时,校长拿到了清华大学的理科预估分数线k,可是每位同学的总分还没有计算出来。每位同学共有m门成绩,包括语文、数学、外语、综合、IB模块等。
校长请你帮忙,统计一下,总分可以达到清华大学分数线的同学人数。(总分大于或等于分数线即可)
校长请你帮忙,统计一下,总分可以达到清华大学分数线的同学人数。(总分大于或等于分数线即可)
输入
第一行三个整数n,m和k,分别表示参加考试的人数,考试门数和预估分数线。
1<=n<=1000, 3<=m<=7,600<=k<=810,。
接下来n行,每行m个整数,表示每位同学的m门学科的成绩。成绩0<=x<=300。
1<=n<=1000, 3<=m<=7,600<=k<=810,。
接下来n行,每行m个整数,表示每位同学的m门学科的成绩。成绩0<=x<=300。
输出
一个整数,表示达到分数线的人数。
样例输入 Copy
3 5 721
123 141 136 288 56
103 120 111 250 50
133 130 141 270 58
样例输出 Copy
2
这个题就用结构体就好啦,里面一个成员需要用到数组,这个注意一下下就好
#include<iostream> using namespace std; struct stu{ int a[10]; int sum; }s[1010]; int main(){ int n,m,k,t=0; cin>>n>>m>>k; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { cin>>s[i].a[j]; s[i].sum+=s[i].a[j]; } } for(int i=0;i<n;i++) { if(s[i].sum>=k) t++; } cout<<t<<endl; return 0; }
2的幂数:
小明开始学习二进制转化到十进制,其中要用到2的幂(2的3次幂就是3个2相乘),他觉得这个很有意思。既然通过2的幂相加可以得到十位数,那么反过来,一个十进制数是否可以通过若干个2的幂相加得到呢?
小明开始研究起来,他先列出了所有2的幂:1,2,4,8,16,32,64……。
4=1+1+1+1
4=1+1+2
4=2+2
4=4 4共有4种方法
7=1+1+1+1+1+1+1
7=1+1+1+1+1+2
7= 1+1+1+2+2
7=1+1+1+4
7=1+2+2+2
7= 1+2+4
共有6种方法。1+2+4和2+1+4认为是同一个等式,因为它们的组成相同。
现在小明想要知道,给出一个十进制数,可以写出多少种,用若干个2的幂数相加的式子。
小明开始研究起来,他先列出了所有2的幂:1,2,4,8,16,32,64……。
4=1+1+1+1
4=1+1+2
4=2+2
4=4 4共有4种方法
7=1+1+1+1+1+1+1
7=1+1+1+1+1+2
7= 1+1+1+2+2
7=1+1+1+4
7=1+2+2+2
7= 1+2+4
共有6种方法。1+2+4和2+1+4认为是同一个等式,因为它们的组成相同。
现在小明想要知道,给出一个十进制数,可以写出多少种,用若干个2的幂数相加的式子。
输入
第一行包含1个正整数n, 1<=n<=1000。
输出
共1行,n能用2的幂数相加的不同式子的种数。
样例输入 Copy
7
样例输出 Copy
6
这个题用的递推,与22场铺瓷砖很类似,找到它的递推关系式。这个要分n为奇偶的情况,奇数很好看,f[n]=f[n-1],多出来的那个1本质没啥用。
偶数,关键要看怎么得到它,8=1+1+1+1+1+1+1+1可以分为7=1+1+1+1+1+1+2,也可以分为2+2+2+2,两种奇偶的情况。
#include<iostream> using namespace std; int f[100010]; int main(){ int n; cin>>n; f[1]=1; for(int i=2;i<=n;i++) { if(i%2==1) f[i]=f[i-1]; else f[i]=f[i-1]+f[i/2]; } cout<<f[n]<<endl; return 0; }
甜蜜的烦恼:
题目描述
最近珍珍学会了使用电脑,她发现可以利用电脑解决很多事情,并且效率会快许多。比如,在一份名单中找某个人的姓名,在以前,她得依次逐个查找,速度慢又很容易看错。现在,她使用菜单命令:“编辑”-“查找”(或按Ctrl+F键),在弹出的查找对话框中,输入要查找的姓名,电脑就会找到要找的姓名或告诉你不存在你要找的姓名了。真是又快又准,太爽了!
今天珍珍在查找时,输入“张明”,电脑告诉她不存在,但她不经意间发现“张 明”是有的!原来,提供原始名单的人,为了格式漂亮在中间输入了一个空格,因此电脑找不到了。她想这容易解决,继续查找“李达”,没有?查找“李 达”(中间一个空格),还没有?原来某些姓名中间的空格数是有多个的!
珍珍想删除所有姓名中间的空格,但由于名单很多,一个一个删除太慢了,所以她找到了会编程解决问题的你,请你写一个程序,删除所有名单中间的空格。
今天珍珍在查找时,输入“张明”,电脑告诉她不存在,但她不经意间发现“张 明”是有的!原来,提供原始名单的人,为了格式漂亮在中间输入了一个空格,因此电脑找不到了。她想这容易解决,继续查找“李达”,没有?查找“李 达”(中间一个空格),还没有?原来某些姓名中间的空格数是有多个的!
珍珍想删除所有姓名中间的空格,但由于名单很多,一个一个删除太慢了,所以她找到了会编程解决问题的你,请你写一个程序,删除所有名单中间的空格。
输入
输入的第一行只有一个正整数n,表示名单中共有n个人的姓名。
第二行至第n+1行共n行,每行是一个人的姓名(由大小写英文字母以及字母之间的空格组成)。
第二行至第n+1行共n行,每行是一个人的姓名(由大小写英文字母以及字母之间的空格组成)。
输出
输出有n+1行,第一行只有一个正整数,表示总共删除的空格数。
第二行至第n+1行共n行,每行表示一个删除空格后的姓名(按照输入姓名的次序)。
第二行至第n+1行共n行,每行表示一个删除空格后的姓名(按照输入姓名的次序)。
样例输入 Copy
3
ZhangMing
Li Da
Wu Ya Fei
样例输出 Copy
5
ZhangMing
LiDa
WuYaFei
提示
100%的数据,1≤n≤10000,每行姓名的字符数不超过100。
#include<iostream>//甜蜜的烦恼 using namespace std; char ch[1000][1000]; int main(){ int n,t=0; cin>>n; getchar(); for(int i=0;i<n;i++) { gets(ch[i]); for(int j=0;ch[i][j];j++) { if(ch[i][j]==' ') { t++; } } } cout<<t<<endl; for(int i=0;i<n;i++) { for(int j=0;ch[i][j];j++) { if(ch[i][j]==' ') continue; else cout<<ch[i][j]; } cout<<endl; } return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具