广元市网站建设_网站建设公司_服务器部署_seo优化
2026/1/11 18:35:34 网站建设 项目流程

2025年杭州电子科技大学计算机考研复试机试真题

2025年杭州电子科技大学计算机考研复试上机真题

历年杭州电子科技大学计算机考研复试上机真题

历年杭州电子科技大学计算机考研复试机试真题

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

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

死神来了-杭州电子科技大学

题目描述

有一天,王小子在遨游世界时,遇到了一场自然灾害。

一个人孤独的在一个岛上,没有吃的没有喝的。

在他饥寒交迫将要死亡时,死神来了。

由于这个死神在成神之前是一个数学家,所以他有一个习惯,会和即死之人玩一个数学游戏,来决定是否将其灵魂带走。

游戏规则是死神给王小子两个整数n nn100 ≤ n ≤ 1000000 100 \leq n \leq 1000000100n1000000),m mm2 ≤ m ≤ n 2 \leq m \leq n2mn),在1 11~n nn个数中,随机取m mm个数,问在这m mm个数中是否一定存在一个数是另一个数的倍数,是则回答“YES", 否则”NO"。

如果王小子回答正确,将有再活下去的机会。

但是他很后悔以前没有好好学习数学,王小子知道你数学学得不错,请你救他一命。

输入格式

有多组测试数据,不多于10000 1000010000;

每组有两个数n nn,m mm;

以文件结束符E O F EOFEOF为结束标志。

输出格式

输出"YES"或"NO"。

输入样例
100 80 100 20
输出样例
YES NO
#include<stdio.h>intmain(){intn,m;// 循环读取多组测试数据,直到EOFwhile(scanf("%d %d",&n,&m)!=EOF){// 计算1~n中奇数的个数intodd_count=(n+1)/2;if(m>odd_count){printf("YES\n");}else{printf("NO\n");}}return0;}

字符串区间翻转-杭州电子科技大学

题目描述

小杭有一个由0 001 11组成的字符串

现在小杭有一次机会,可以选择一个任意的区间[ L , R ] [L, R][L,R],将该区间内的所有字符串进行翻转(即0 00->1 11,1 11->0 00)。

请问小杭经过一次翻转之后字符串中最多会有多少个1 11

输入格式

第一行输入一个正整数n nn,表示字符串长度,n < = 10 7 n <= 10^7n<=107

接下来一行一个输入一个01 0101字符串。

可能有多组测试数据输入。

输出格式

输出题目要求的答案。

输入样例
4 1001
输出样例
4
importjava.io.*;publicclassMain{publicstaticvoidmain(String[]args)throwsIOException{BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));Stringline;while((line=br.readLine())!=null){line=line.trim();if(line.isEmpty())continue;intn=Integer.parseInt(line);Strings=br.readLine().trim();// 统计原始1的个数intones=0;for(inti=0;i<s.length();i++){if(s.charAt(i)=='1')ones++;}// Kadane算法求最大增益intmaxGain=0;intcurGain=0;for(inti=0;i<s.length();i++){intval=(s.charAt(i)=='0')?1:-1;curGain=Math.max(val,curGain+val);maxGain=Math.max(maxGain,curGain);}// 最终结果 = 原始1的数量 + 最大增益(增益最小为0)System.out.println(ones+Math.max(0,maxGain));}}}

调查作弊-杭州电子科技大学

题目描述

学校i c p c icpcicpc举办了一场选拔赛,赛后由学长人工进行代码查重,学长们非常严谨,每当一个人发现学生a aa和学生b bb的代码相似,他就会进行上报并记录下来,如果a aab bb的代码相似,b bbc cc的代码相似,那么也认为a aac cc的代码相似,而只有当上报的学生a aa,b bb已经被记录为相似,才会被视作抄袭,如果a aab bb互相抄袭,b bbc cc互相抄袭,那么也认为a aac cc互相抄袭。

如果几个人互相抄袭,我们称这几个人为作弊团伙 作弊团伙作弊团伙,现在已经知道了每条被上传的数据,而你想知道我们学校有多少个其他的作弊团伙 作弊团伙作弊团伙( 其他表示不包括自己的作弊团伙 作弊团伙作弊团伙,视个人情况判断是否将答案减1 11)

输入格式

第一行输入两个数字n nnm mm( 2 ≤ n , m ≤ 1 e 6 ) (2 \leq n, m \leq 1e6)(2n,m1e6),表示g z u gzugzu的人数和上传记录的条数

接下来的m mm行每行输入两个数字a aa,b bb( 1 ≤ a , b ≤ n ) (1 \leq a, b \leq n)(1a,bn)表示发现a aab bb互相抄袭

输出格式

输出一个数字,表示作弊团伙 作弊团伙作弊团伙的个数

输入样例
6 7 1 2 1 3 2 3 4 5 4 5 5 6 5 6
输出样例
2
#include<iostream>#include<set>#include<vector>usingnamespacestd;intmain(){intn=0,m=0,sum=1,a=0,b=0,flag=0;cin>>n>>m;set<int>sets[m+1];while(cin>>a>>b){flag=0;for(intj=0;j<sum;j++){if(sets[j].count(b)){sets[j].insert(a);flag=1;break;}elseif(sets[j].count(a)){sets[j].insert(b);flag=1;break;}}if(flag!=1){sum++;sets[sum-1].insert(a);sets[sum-1].insert(b);}}cout<<sum-1;return0;}

胜利大逃亡-杭州电子科技大学

题目描述

Ignatius 再次被魔王抓走了(搞不懂他咋这么讨魔王喜欢)……

这次魔王汲取了上次的教训,把 Ignatius 关在一个n × m n \times mn×m的地牢里,并在地牢的某些地方安装了带锁的门,钥匙藏在地牢另外的某些地方。

刚开始 Ignatius 被关在( s x , s y ) (sx, sy)(sx,sy)的位置,离开地牢的门在( e x , e y ) (ex, ey)(ex,ey)的位置。

Ignatius 每分钟只能从一个坐标走到相邻四个坐标中的其中一个。

魔王每t tt分钟回地牢视察一次,若发现 Ignatius 不在原位置便把他拎回去。

经过若干次的尝试,Ignatius 已画出整个地牢的地图。

现在请你帮他计算能否再次成功逃亡。

只要在魔王下次视察之前走到出口就算离开地牢,如果魔王回来的时候刚好走到出口或还未到出口都算逃亡失败。

输入格式

每组测试数据的第一行有三个整数n nn,m mm,t tt( 2 ≤ n , m ≤ 20 , t > 0 ) (2 \leq n, m \leq 20, t > 0)(2n,m20,t>0)

接下来的n nnm mm列为地牢的地图,其中包括:

  • . ..代表路

  • ∗ *代表墙

  • @ @@代表 Ignatius 的起始位置

  • KaTeX parse error: Expected group after '^' at position 1: ^̲代表地牢的出口

  • A AA-J JJ代表带锁的门,对应的钥匙分别为a aa-j jj

  • a aa-j jj代表钥匙,对应的门分别为A AA-J JJ

每组测试数据之间有一个空行。

输出格式

针对每组测试数据,如果可以成功逃亡,请输出需要多少分钟才能离开,如果不能则输出− 1 -11

输入样例
4 5 17 @A.B. a*.*. *..*^ c..b* 4 5 16 @A.B. a*.*. *..*^ c..b*
输出样例
16 -1
#include<iostream>#include<cstring>#include<string>#include<cmath>#include<map>#include<unordered_map>#include<unordered_set>#include<set>#include<stack>#include<queue>#include<algorithm>#include<iomanip>#include<sstream>#include<numeric>#include<vector>#include<bitset>#include<climits>#include<limits>#include<list>#include<tuple>#include<cstdlib>#include<random>#include<chrono>#include<array>usingstd::vector;usingstd::string;usingll=longlong;intd[4][2]={{-1,0},{1,0},{0,-1},{0,1}};structState{intx,y,mask,steps;};voidsolve(){intn,m,t;while(std::cin>>n>>m>>t){std::vector<std::vector<char>>a(n,std::vector<char>(m));std::pair<int,int>start;vector<vector<vector<bool>>>visited(n,vector<vector<bool>>(m,vector<bool>(1024,false)));for(inti=0;i<n;i++){for(intj=0;j<m;j++){std::cin>>a[i][j];if(a[i][j]=='@'){start=std::make_pair(i,j);}}}std::queue<State>q;q.push({start.first,start.second,0,0});boolok=false;while(!q.empty()){constautop=q.front();q.pop();if(p.steps>=t){break;}if(a[p.x][p.y]=='^'){std::cout<<p.steps<<"\n";ok=true;break;}for(intk=0;k<4;k++){intnewI=p.x+d[k][0];intnewJ=p.y+d[k][1];if(newI<0||newI>=n||newJ<0||newJ>=m){continue;}if(a[newI][newJ]=='*'){continue;}if(a[newI][newJ]>='A'&&a[newI][newJ]<='J'){if(!((p.mask>>(a[newI][newJ]-'A'))&1)){continue;}}intnextMask=p.mask;if(a[newI][newJ]>='a'&&a[newI][newJ]<='j'){nextMask|=1<<(a[newI][newJ]-'a');}if(!visited[newI][newJ][nextMask]){visited[newI][newJ][nextMask]=true;q.push({newI,newJ,nextMask,p.steps+1});}}}if(!ok){std::cout<<-1<<"\n";}}}intmain(){std::ios::sync_with_stdio(false);std::cin.tie(nullptr);solve();return0;}

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

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

立即咨询