2026/4/6 10:58:30
网站建设
项目流程
网站 网络架构,工业和信息化部发短信是怎么回事,资源软件库,北京通网站建设2025年中国科学技术大学计算机考研复试机试真题
2025年中国科学技术大学计算机考研复试上机真题
历年中国科学技术大学计算机考研复试上机真题
历年中国科学技术大学计算机考研复试机试真题
更多学校完整题目开源地址#xff1a;https://gitcode.com/u014339447/pgcode
百…2025年中国科学技术大学计算机考研复试机试真题2025年中国科学技术大学计算机考研复试上机真题历年中国科学技术大学计算机考研复试上机真题历年中国科学技术大学计算机考研复试机试真题更多学校完整题目开源地址https://gitcode.com/u014339447/pgcode百度一下pgcode即可查看输入 “学校名称” 即可筛选该校历年机试真题包括真题、ac代码、解题思路、视频讲解。数字转换为十六进制数-中国科学技术大学题目描述给定一个整数编写一个算法将这个数转换为十六进制 十六进制十六进制数。对于负整数我们通常使用补码运算 补码运算补码运算方法。答案字符串中的所有字母都应该是小写字符并且除了0 00本身之外答案中不应该有任何前置零。注意: 不允许使用任何由库提供的将数字直接转换或格式化为十六进制 十六进制十六进制的方法来解决这个问题。输入格式输入一个数n u m numnum− 2 31 ≤ n u m ≤ 2 31 − 1 -2^{31} \leq num \leq 2^{31} - 1−231≤num≤231−1输出格式输出结果输入样例26输出样例1a#includestdio.hintmain(){intnum;scanf(%d,num);// 直接用printf的%x占位符题目不让用但自己测试可以printf(%x\n,num);return0;}岛屿数量-中国科学技术大学题目描述给你一个由′ 1 ′ 1′1′陆地和′ 0 ′ 0′0′水组成的的二维网格请你计算网格中岛屿的数量。岛屿总是被水包围并且每座岛屿只能由水平方向和/ //或竖直方向上相邻的陆地连接形成。此外你可以假设该网格的四条边均被水包围。输入格式给你一个m × n m \times nm×n的二维网格m grid.length m \text{grid.length}mgrid.lengthn grid [ i ] . length n \text{grid}[i].\text{length}ngrid[i].length1 m , n 300 1 m, n 3001m,n300grid [ i ] [ j ] \text{grid}[i][j]grid[i][j]的值为′ 0 ′ 0′0′或′ 1 ′ 1′1′输出格式计算网格中岛屿的数量输入样例4 5 1 1 1 1 0 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0输出样例1#includeiostreamusingnamespacestd;// 最大格子数 Pre-allocatedconstintMAXN305;// 全局数组0 表示未访问1 表示已访问intvist[MAXN][MAXN];// 输入矩阵inta[MAXN][MAXN];// 实际矩阵大小intm0,n0;// 四个方向上、下、左、右constintdx[4]{-1,1,0,0};constintdy[4]{0,0,-1,1};// 深度优先遍历统计并标记一个连通分量voiddfs(intx,inty){// 越界或已访问则返回if(x0||xm||y0||yn)return;if(vist[x][y])return;// 仅对值为 1 的格子进行遍历if(a[x][y]!1)return;// 标记已访问vist[x][y]1;// 向四个方向继续 DFSfor(intdir0;dir4;dir){intnxxdx[dir];intnyydy[dir];dfs(nx,ny);}}intmain(){// 输入矩阵大小if(!(cinmn))return0;// 读取矩阵数据并初始化 vistfor(inti0;im;i){for(intj0;jn;j){cina[i][j];vist[i][j]0;}}intans0;// 连通分量计数// 遍历矩阵遇到未访问且值为 1 的格子即开启一个 DFSfor(inti0;im;i){for(intj0;jn;j){if(!vist[i][j]a[i][j]1){dfs(i,j);ans;}}}coutans;return0;}最长连续递增序列-中国科学技术大学题目描述给定一个未经排序的整数数组找到最长且连续递增的子序列并返回该序列的长度。连续递增的子序列可以由两个下标l ll和r rrl r l rlr确定如果对于每个l ≤ i r l \leq i rl≤ir都有n u m s [ i ] n u m s [ i 1 ] nums[i] nums[i 1]nums[i]nums[i1]那么子序列[ n u m s [ l ] , n u m s [ l 1 ] , . . . , n u m s [ r − 1 ] , n u m s [ r ] ] [nums[l], nums[l 1], ..., nums[r - 1], nums[r]][nums[l],nums[l1],...,nums[r−1],nums[r]]就是连续递增子序列。输入格式第一行输入一个整数n nn表示数组的长度第二行输入n nn个数n u m s [ i ] nums[i]nums[i]1 ≤ n ≤ 10 4 1 \leq n \leq 10^41≤n≤104− 10 9 ≤ n u m s [ i ] ≤ 10 9 -10^9 \leq nums[i] \leq 10^9−109≤nums[i]≤109输出格式输出最长连续递增子序列长度输入样例5 1 3 5 4 7输出样例3#includebits/stdc.husingnamespacestd;intmain(){intn;cinn;inta[n];for(inti0;in;i){cina[i];}intb[n];for(inti0;in;i){b[i]1;}if(n1){cout1;}else{for(inti0;in;i){for(intji1;jn;j){if(a[j]a[j-1]){b[i]max(b[i],j-i1);}else{jn;}}}intm0;for(inti0;in;i){if(b[i]m){mb[i];}}coutm;}return0;}让字符串成为回文串的最少插入次数-中国科学技术大学题目描述给你一个字符串 $ s $ 每一次操作你都可以在字符串的任意位置插入任意字符。请你返回让 $ s $ 成为回文串的最少操作次数。回文串是正读和反读都相同的字符串。输入格式有多组测试数据$ 1 \leq s.length \leq 500 $$ s $ 中所有字符都是小写字母。输出格式如题输入样例zzazz mbadm输出样例0 2#includeiostream#includestring#includevectorusingnamespacestd;intleast_insert(string str);intLPS(vectorvectorintdp,inti,intj,vectorvectorintrecord,stringstr);intmain(){string str;while(getline(cin,str)){coutleast_insert(str)endl;}return0;}intleast_insert(string str){vectorvectorintdp(str.size(),vectorint(str.size(),1));vectorvectorintrecord(str.size(),vectorint(str.size(),0));for(inti0;istr.size();i){record[i][i]1;dp[i][i]1;}for(inti0;istr.size()-1;i){record[i][i1]1;if(str[i]str[i1]){dp[i][i1]2;}else{dp[i][i1]1;}}returnstr.size()-LPS(dp,0,str.size()-1,record,str);}intLPS(vectorvectorintdp,inti,intj,vectorvectorintrecord,stringstr){if(record[i][j]1){returndp[i][j];}else{if(str[i]str[j]){record[i][j]1;return2LPS(dp,i1,j-1,record,str);}else{record[i][j]1;returnmax(LPS(dp,i1,j,record,str),LPS(dp,i,j-1,record,str));}}}