2025年云南大学计算机考研复试机试真题
2025年云南大学计算机考研复试上机真题
历年云南大学计算机考研复试上机真题
历年云南大学计算机考研复试机试真题
更多学校完整题目开源地址:https://gitcode.com/u014339447/pgcode
百度一下pgcode即可查看,输入 “学校名称” 即可筛选该校历年机试真题,包括真题、ac代码、解题思路、视频讲解。
字符值-云南大学
题目描述
给定一个字符串s ss,s 1 s1s1为S SS的子串,求s 1 s1s1的A S C l l ASCllASCll值之和。
输入格式
输入:
第一行输入一行字符串s ss(不含空格)。
第二行输入一个整数n nn,代表有n nn次询问。
接下来n nn行,每行两个整数l ll,r rr(1 < = l < = r < = ∣ S ∣ 1<=l<=r<=|S|1<=l<=r<=∣S∣)。
表示s 1 s1s1的开始和结束(下标从1 11开始)。
输出格式
输出:
对于每次询问,输出一个整数x xx表示答案。
输入样例
asdfgKL 3 1 2 2 3 1 7输出样例
212 215 668importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);Stringstr=sc.next();intn=sc.nextInt();for(inti=0;i<n;i++){inta=sc.nextInt()-1;intb=sc.nextInt()-1;intans=0;for(intj=a;j<=b;j++){ans+=(int)str.charAt(j);}System.out.println(ans);}}}这是第几天?-云南大学
题目描述
输入一个年月日的有效日期,输出这一天是今年第几天?
输入格式
如题。
输出格式
如题。
输入样例
2018-01-11输出样例
11importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);Stringst=sc.nextLine();intyear=Integer.parseInt(st.substring(0,4));intmonth=Integer.parseInt(st.substring(5,7));intday=Integer.parseInt(st.substring(8,10));/* System.out.println(year); System.out.println(month); System.out.println(day);*/int[]m;//月if(year%100==0||year%4==0){//闰年m=newint[]{31,29,31,30,31,30,31,31,30,31,30,31};}else{m=newint[]{31,28,31,30,31,30,31,31,30,31,30,31};}intans=0;for(inti=0;i<month-1;i++){ans+=m[i];}ans+=day;System.out.println(ans);}}堆排序-云南大学
题目描述
堆排序(英语:H e a p s o r t HeapsortHeapsort)是指利用堆这种数据结构所设计的一种排序算法。
堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。
请你实现堆排序。
输入格式
两行,第1 11行是整数n < = 50000 n <= 50000n<=50000,表明排序的数据个数,第2 22行是排序的具体数值。
输出格式
升序排序结果。
输入样例
10 4 2 1 5 7 6 9 8 0 3输出样例
0 1 2 3 4 5 6 7 8 9importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intn=sc.nextInt();int[]arr=newint[n];for(inti=0;i<n;i++){arr[i]=sc.nextInt();}for(inti=0;i<n-1;i++){for(intj=0;j<n-i-1;j++){if(arr[j]>arr[j+1]){intt=arr[j];arr[j]=arr[j+1];arr[j+1]=t;}}}for(inti=0;i<n;i++){System.out.print(arr[i]+" ");}}}怎么借书-云南大学
题目描述
小明有n nn本书,他的好朋友小红、小新、小林想向小明借书,若每人只能借一本书,可以有多少种不同的借法?
输入格式
一个整数n nn,代表书的序号为1 11、2 22、……、n nn
输出格式
用A AA,B BB,C CC分别代表三个好朋友
依次输出每个人可借的书序号
以及有效的借阅方法总数
输入样例
3输出样例
A:1 B:2 C:3 A:1 B:3 C:2 A:2 B:1 C:3 A:2 B:3 C:1 A:3 B:1 C:2 6importjava.util.Scanner;publicclassMain{staticintans=0;publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);// 添加检查是否有下一个整数if(sc.hasNextInt()){intn=sc.nextInt();// 书的数量int[]flag=newint[n];// 标记书是否已借int[]alloc=newint[3];// 只记录3个人的借书情况dfs(n,0,flag,alloc);System.out.println(ans);}else{System.out.println("请输入一个整数");}sc.close();// 记得关闭Scanner}staticvoiddfs(intn,intdeep,int[]flag,int[]alloc){if(deep==3){System.out.println("A:"+alloc[0]+" "+"B:"+alloc[1]+" "+"C:"+alloc[2]);ans++;return;}for(inti=0;i<n;i++){if(flag[i]!=1){flag[i]=1;// 拿完加标记alloc[deep]=i+1;dfs(n,deep+1,flag,alloc);flag[i]=0;// 恢复现场}}}}= 0; i < n; i++) {
if (flag[i] != 1) {
flag[i] = 1; // 拿完加标记
alloc[deep] = i + 1;
dfs(n, deep + 1, flag, alloc);
flag[i] = 0; // 恢复现场
}
}
}
}