伊犁哈萨克自治州网站建设_网站建设公司_论坛网站_seo优化
2026/1/16 21:42:29 网站建设 项目流程

2025年华南理工大学计算机考研复试机试真题

2025年华南理工大学计算机考研复试上机真题

历年华南理工大学计算机考研复试上机真题

历年华南理工大学计算机考研复试机试真题

更多学校完整题目开源地址:https://gitcode.com/u014339447/pgcode

百度一下pgcode即可查看,输入 “学校名称” 即可筛选该校历年机试真题,包括真题、ac代码、解题思路、视频讲解。

数组排序-华南理工大学

题目描述

输入个数不限的数字,以逗号为分隔,以回车键为结束,数字大小在[ − 32768 , 32767 ] [-32768, 32767][32768,32767]之间。从小到大排序后以4 44个数每行输出。

输入格式

如题目描述

输出格式

如题目描述

数据范围

数字个数不限,但每个数字的大小在[ − 32768 , 32767 ] [-32768, 32767][32768,32767]之间。

输入样例
12,34,-12,23,123,56,-9,789
输出样例
-12 -9 12 23 34 56 123 789
importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Comparator;importjava.util.Scanner;@SuppressWarnings("All")publicclassMain{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);Strings=scanner.nextLine();s="12,34,-12,23,123,56,-9,789";String[]split=s.split(",");Arrays.sort(split,newComparator<String>(){@Overridepublicintcompare(Stringo1,Stringo2){returnInteger.parseInt(o1)-Integer.parseInt(o2);}});Stringans="";intidx=0;for(inti=0;i<split.length;i++){if(idx==4){System.out.println(ans.substring(0,ans.length()-1));ans=split[i]+" ";idx=1;}else{idx++;ans+=split[i]+" ";}}System.out.println(ans.substring(0,ans.length()-1));}}

凑零钱-华南理工大学

题目描述

这是一个古老而又经典的问题。用给定的几种钱币凑成某个钱数,一般而言有多种方式。

例如:给定了6 66种钱币面值为2 225 5510 101020 202050 5050100 100100,用来凑15 1515元,可以用5 552 22元、1 115 55元,或者3 335 55元,或者1 115 55元、1 1110 1010元,等等。

显然,最少需要2 22个钱币才能凑成15 1515元。

你的任务就是,给定若干个互不相同的钱币面值,编程计算,最少需要多少个钱币才能凑成某个给出的钱数。

输入格式

第一行是待凑的钱数值M MM1 ≤ M ≤ 2000 1 \leq M \leq 20001M2000,整数),接着的一行中,第一个整数K KK1 ≤ K ≤ 10 1 \leq K \leq 101K10)表示币种个数,随后是K KK个互不相同的钱币面值K i K_iKi(1 ≤ K i ≤ 1000 1 \leq K_i \leq 10001Ki1000)。

输入M = 0 M=0M=0时结束。

输出格式

每个测试用例输出一行,即凑成钱数值M MM最少需要的钱币个数。

如果凑钱失败,输出“Impossible”。

你可以假设,每种待凑钱币的数量是无限多的。

数据范围

1 ≤ M ≤ 2000 1 \leq M \leq 20001M20001 ≤ K ≤ 10 1 \leq K \leq 101K101 ≤ K i ≤ 1000 1 \leq K_i \leq 10001Ki1000

输入样例
15 6 2 5 10 20 50 100
输出样例
2
importjava.util.Arrays;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);intM=scanner.nextInt(),k=scanner.nextInt();int[]arr=newint[k];for(inti=0;i<k;i++){arr[i]=scanner.nextInt();}inti=coinChange(arr,M);if(i==Integer.MAX_VALUE)System.out.println("Impossible");elseSystem.out.println(i);}staticpublicintcoinChange(int[]coins,intamount){intans=dfs(coins.length-1,amount,coins);returnans==Integer.MAX_VALUE?-1:ans;}staticpublicintdfs(inti,intj,int[]arr){if(j==0)return0;if(i<0)returnInteger.MAX_VALUE;intans=Integer.MAX_VALUE,diff=j/arr[i];ans=Math.min(ans,dfs(i-1,j,arr));//不选for(intk=1;k<=diff;k++){//选inttemp=dfs(i-1,j-k*arr[i],arr);if(temp!=Integer.MAX_VALUE){ans=Math.min(ans,temp+k);}}returnans;}}

成绩再次排序-华南理工大学

题目描述

输入n nn行姓名,语数英成绩。先按总分高到低排序,总分一样的按照语文高的排前面,又一样的按照数学,最后英语。若都一样按出现的顺序输出。

输入格式

第一行一个数字n nn,表示学生的个数。

接下来n nn行包含姓名,语数英成绩,用空格隔开。

输出格式

排序后的顺序输出

数据范围

n ≤ 1000 n \leq 1000n1000

输入样例
3 kangkang 60 59 58 yangyang 60 59 58 jian 70 60 60
输出样例
jian 70 60 60 kangkang 60 59 58 yangyang 60 59 58
importjava.util.Arrays;importjava.util.Comparator;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);inti=scanner.nextInt();String[][]strings=newString[i][4];for(intj=0;j<i;j++){for(intk=0;k<4;k++){strings[j][k]=scanner.next();}}So(strings);for(intj=0;j<i;j++){String[]string=strings[j];Stringans="";for(intk=0;k<string.length;k++){ans+=string[k]+" ";}System.out.println(ans.substring(0,ans.length()-1));}}staticpublicvoidSo(String[][]arr){Arrays.sort(arr,newComparator<String[]>(){@Overridepublicintcompare(String[]o1,String[]o2){intsum1=get_sum(o1),sum2=get_sum(o2);if(sum1!=sum2)returnsum2-sum1;intf1=Integer.parseInt(o1[1]),f2=Integer.parseInt(o2[1]);if(f1!=f2)returnf2-f1;intf3=Integer.parseInt(o1[2]),f4=Integer.parseInt(o2[2]);if(f3!=f4)returnf4-f3;intf5=Integer.parseInt(o1[3]),f6=Integer.parseInt(o2[3]);if(f5!=f6)returnf6-f5;return0;}});}staticpublicintget_sum(String[]w){returnInteger.parseInt(w[1])+Integer.parseInt(w[2])+Integer.parseInt(w[3]);}}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询