北邮2018计算机院考研复试机试上机题解+结果统计

article/2025/11/9 13:16:08

昨天刚考完,oj上题目已经看不了了,不过交的代码都还在,趁热回忆一下

整体情况:

共169人,第四题全军覆没,8人3A,77人2A,40人1A,44人0A

最后的排行榜(id截掉了):

 

 

problem A 二进制数字翻转

输入数据组数t

每组数据输入一个十进制数x(0<x<2^32),将其二进制位反转(共32位),然后输出对应的十进制数

 

签到题,唯一坑点就是int表示不了2^32-1吧,用long long就行了

AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[32];
int main()
{int t,n,i;ll x;cin>>t;while(t--){memset(a,0,sizeof(a));cin>>x;i=0;do{a[i++]=x%2;x/=2;}while(x);ll re=0;for(i=0;i<32;i++){re=re*2+a[i];//低位变高位,相当于反转了}cout<<re<<endl;}return 0;
}

 

problem B 数字填充

 

就是用点阵表示数字,5*3的方格表示0~9,具体见样例及代码,0是然后输入一个数字串,用点阵输出

样例输入

02

样例输出

111111
101001
101111
101100
111111

这种暴力题我一开始是拒绝的==ctrl cv大法

每行用一个string表示,用存好的点阵数字相加起来然后输出就行了

AC代码:

#include<bits/stdc++.h>
using namespace std;
struct node{string s[5];
}num[10];
int main()
{int t,i,j;num[0].s[0]="111";//先存好0-9的点阵表示num[0].s[1]="101";num[0].s[2]="101";num[0].s[3]="101";num[0].s[4]="111";num[1].s[0]="001";num[1].s[1]="001";num[1].s[2]="001";num[1].s[3]="001";num[1].s[4]="001";num[2].s[0]="111";num[2].s[1]="001";num[2].s[2]="111";num[2].s[3]="100";num[2].s[4]="111";num[3].s[0]="111";num[3].s[1]="001";num[3].s[2]="111";num[3].s[3]="001";num[3].s[4]="111";num[4].s[0]="101";num[4].s[1]="101";num[4].s[2]="111";num[4].s[3]="001";num[4].s[4]="001";num[5].s[0]="111";num[5].s[1]="100";num[5].s[2]="111";num[5].s[3]="001";num[5].s[4]="111";num[6].s[0]="111";num[6].s[1]="100";num[6].s[2]="111";num[6].s[3]="101";num[6].s[4]="111";num[7].s[0]="111";num[7].s[1]="001";num[7].s[2]="001";num[7].s[3]="001";num[7].s[4]="001";num[8].s[0]="111";num[8].s[1]="101";num[8].s[2]="111";num[8].s[3]="101";num[8].s[4]="111";num[9].s[0]="111";num[9].s[1]="101";num[9].s[2]="111";num[9].s[3]="001";num[9].s[4]="111";cin>>t;while(t--){node re;string q;cin>>q;int ql=q.length();for(i=0;i<ql;i++)//每个数的每一行加起来{for(j=0;j<5;j++){re.s[j]+=num[q[i]-'0'].s[j];}}for(i=0;i<5;i++){cout<<re.s[i]<<endl;}}return 0;
}

 

problem C  发财数

一个大于等于2的整数,如果可以分解为8个或8个以上的素数相乘,则称其为发财数,让你输出第n个发财数(n最大到1w)

样例输入:

1

1

样例输出:

256

额...水平比较low没想到什么好的解法,暴力解决==用cin、cout是800ms,scanf、printf应该会快得多

AC代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define maxn 400007//最大遍历到40w 就能找到第1w多个发财数 
int vis[maxn],p[maxn];
ll fa[maxn];
void init(int n)//线性筛 
{int pos=0;memset(vis,0,sizeof(vis));int i,j;for(i=2;i<n;i++){if(!vis[i]) p[pos++]=i;for(j=0;j<pos&&i*p[j]<n;j++){vis[i*p[j]]=1;if(i%p[j]==0) break;}}}int main()
{init(maxn);int t,n,i,k,j,q;vector <int> v;for(k=2;k<400000;k++)//遍历到40w {if(!vis[k]) continue;//是素数则直接跳过int kt=k;int anssize=0;int ansprime[30];int ansnum[30];for(i=0;i<1000;i++)//用前1000个素数来测试{//这个40w和1000,无脑试了很多次才确定这个范围,各位大佬有什么简便方法请指教 if(kt%p[i]==0)//素数分解,可以参考王道第四章的分解素因数 {ansprime[anssize]=p[i];ansnum[anssize]=0;while(kt%p[i]==0){ansnum[anssize]++;kt/=p[i];}anssize++;if(kt==1) break;}}int su=0;for(i=0;i<anssize;i++){su+=ansnum[i];}if(su>=8)//是发财数就存起来 {v.push_back(k);}}int vs=v.size();cin>>t;while(t--){cin>>n;cout<<v[n-1]<<endl;}return 0;
}

 

problem D 最长平衡串

 

给定只含01的字符串,找出最长平衡子串的长度(平衡串:包含0和1的个数相同),串长最大十万

 

这个题呢,自己见识太少又想不出巧方法,只能O(n^2)暴力,可想而知TLE了

之后群里有大佬们讨论,把0换成-1然后用前缀和来做,也挺简单的吧,就怪自己太渣想不到

附两个类似题型链接

https://blog.csdn.net/became_a_wolf/article/details/48129073

http://www.bubuko.com/infodetail-2273733.html

2017蓝桥杯初赛最后一题也是前缀和:https://www.cnblogs.com/-citywall123/p/12337928.html

 

前三道题的运行时间:

 

 

 

写的代码很渣,大佬勿喷。。。本人菜鸟一个,没接触过acm,代码能力极差

 

 

 

总结:

对acm大佬望尘莫及五体投地!!!

 


http://chatgpt.dhexx.cn/article/nI8VOOav.shtml

相关文章

2018北邮计算机、网研、网安803考研报考建议

好多人问&#xff0c;就随便写写吧...写的很快&#xff0c;格式也不改了&#xff0c;东西太多&#xff0c;最后就放了三个去年各学院复试线。 注&#xff1a;不要以为简单的总简单&#xff0c;也不要以为专硕比学硕简单&#xff0c;但是有写难的会一直难。 0.每个组做什么你要…

【北京邮电大学计算机考研资料汇总大全】

北京邮电大学计算机考研资料汇总大全 北京邮电大学计算机考研 | RunningEarth.github.io -适用报考范围&#xff1a; 计算机学院&#xff08;国家示范性软件学院&#xff09;、网络空间安全学院、人工智能学院 23北邮计算机考研QQ交流群&#xff1a;909033367 信息汇总 前言…

北京邮电大学计算机考研信息汇总

See you in BUPT 北京邮电大学计算机考研报考资料、复试资料汇总 for 2019 –by 凝紫暮 CSDN&#xff1a;北京邮电大学计算机考研信息汇总 GitHub Pages:北京邮电大学计算机考研信息汇总 适用报考范围&#xff1a; 计算机学院、网络技术研究院、网络空间安全学院、软件学院…

2024北京邮电大学计算机考研信息汇总

北京邮电大学研招网 北京邮电大学计算机学院 北京邮电大学软件学院 北京邮电大学网络空间安全学院 北京邮电大学&#xff08;Beijing University of Posts and Telecommunications&#xff09;&#xff0c;简称北邮&#xff0c;是中华人民共和国教育部直属、工业和信息…

北京邮电大学计算机考研经验分享

北京邮电大学计算机考研经验分享 北京邮电大学计算机类专业考研比较复杂&#xff0c;主要由于计算机类的学院多&#xff0c;而且北邮招生规则不同于其他学校&#xff0c;所以造成同学们存在很多困惑&#xff0c;那么我将为大家介绍下北邮计算机/网研/网安/软件学院的考研情况。…

【北邮计算机考研】2022年北京邮电大学计算机考研考情分析

一、北京邮电大学简介 二、招生目录和导师重要性介绍 北邮计算机类学院有三个&#xff0c;分别为&#xff1a;计算机学院&#xff08;国家示范性软件学院&#xff09;、网络空间安全学院、人工智能学院。不同学院的专业课、招生人数、报考人数、录取平均分差别巨大&#xff01…

2023年北京邮电大学计算机考研信息汇总

一、北邮计算机专业简介 北京邮电大学1977年开设计算机通信本科专业&#xff0c;1985年成立计算机工程系&#xff0c;1998年成立计算机科学与技术学院。2008年&#xff0c;按照“学科归位”的原则&#xff0c;将计算机科学与技术学院等六个单位计算机学科的资源重新整合为计算…

【铺地毯】题解

原题目链接&#xff1a;Link 意思就是按一定的顺序铺地毯&#xff0c;后铺的地毯会覆盖前铺的地毯。最后查询点 ( x , y ) (x,y) (x,y) 最上面的是哪张地毯。 我们来分析一下样例1&#xff1a; 输入 #1 3 1 0 2 3 0 2 3 3 2 1 3 3 2 2 输出 #1 3 最后地面的地毯情况如下&am…

1118:铺地毯 蒟蒻一为的原创

1118&#xff1a;铺地毯 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 43710 通过数: 20298 【题目描述】 为了准备一个独特的颁奖典礼&#xff0c;组织者在会场的一片矩形区域&#xff08;可看做是平面直角坐标系的第一象限&#xff09;铺上一些矩形地毯。一共…

洛谷P1003 铺地毯(C++)

题目描述 为了准备一个独特的颁奖典礼&#xff0c;组织者在会场的一片矩形区域&#xff08;可看做是平面直角坐标系的第一象限&#xff09;铺上一些矩形地毯。一共有 n 张地毯&#xff0c;编号从 1 到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设&#xff0c;…

[NOIP2011 提高组] 铺地毯

[NOIP2011 提高组] 铺地毯 题目描述 为了准备一个独特的颁奖典礼&#xff0c;组织者在会场的一片矩形区域&#xff08;可看做是平面直角坐标系的第一象限&#xff09;铺上一些矩形地毯。一共有 n n n 张地毯&#xff0c;编号从 1 1 1 到 n n n。现在将这些地毯按照编号从小…

信息学奥赛一本通(c++):1118:铺地毯

信息学奥赛一本通&#xff08;c&#xff09;&#xff1a;1118&#xff1a;铺地毯 活动地址&#xff1a;CSDN21天学习挑战赛 一、题目 1118&#xff1a;铺地毯时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 为了准备一个独特的颁奖典礼&#xff0c;组织者在会场…

蓝桥杯:铺地毯

为了准备一个学生节&#xff0c;组织者在会场的一片矩形区域&#xff08;可看做是平面直角坐标系的第一象限铺上一些矩形地毯。一共有n 张地毯&#xff0c;编号从1 到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设&#xff0c;后铺的地毯覆盖在前面已经铺好的地…

P1003 铺地毯 C++

题目地址&#xff1a;https://www.luogu.org/problemnew/show/P1003 题目&#xff1a; 题目描述 为了准备一个独特的颁奖典礼&#xff0c;组织者在会场的一片矩形区域&#xff08;可看做是平面直角坐标系的第一象限&#xff09;铺上一些矩形地毯。一共有 nn 张地毯&#xff…

【牛客】铺地毯题解

原题地址 题目描述 为了准备一个独特的颁奖典礼&#xff0c;组织者在会场的一片矩形区域&#xff08;可看做是平面直角坐标系的第一象限&#xff09;铺上一些矩形地毯。一共有n张地毯&#xff0c;编号从1到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设&…

铺地毯-枚举

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 题目描述 为了准备一个独特的颁奖典礼&#xff0c;组织者在会场的一片矩形区域&#xff08;可看做是平面直角坐标系的第一象限&#xff09;铺上一些矩形地毯。一共有n张地毯&#xff0c;编号从…

铺地毯题目

【题目描述】 为了准备一个独特的颁奖典礼&#xff0c;组织者在会场的一片矩形区域&#xff08;可看做是平面直角坐标系的第一象限&#xff09;铺上一些矩形地毯。一共有nn张地毯&#xff0c;编号从11到nn。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设&#xff…

C++铺地毯

为了准备颁奖典礼&#xff0c;组织者在会场的一片矩形区域&#xff08;可以看作是平面直角坐标系的第一象限&#xff09;铺上一些矩形地毯。一共有n张地毯&#xff0c;编号从1到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设&#xff0c;后铺的地毯覆盖在前面已…

铺地毯

题解&#xff1a; 没什么好写的 从大到小判断&#xff0c;输出第一个满足条件的矩形 代码&#xff1a; #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<vector> #include<…

洛谷P1003铺地毯

题目描述 为了准备一个独特的颁奖典礼&#xff0c;组织者在会场的一片矩形区域&#xff08;可看做是平面直角坐标系的第一象限&#xff09;铺上一些矩形地毯。一共有 nn 张地毯&#xff0c;编号从 11 到 nn。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设&#x…