来源:CCF计算机职业资格网站。

问题参见:CCF201312赛题。

为了帮助大家熟悉 CCF 软件能力认证考试的操作方式与答题环境,了解试题的大致难度,做好考前的准备,故在此提供试题的参考答案。Java 程序是灵活的,为了解决同一个问题,即使结果相同,程序的内容也不一定是完全一致的,仅供各位在练习时参考。

1. 出现次数最多的数

import java.util.*;public class Main {public static void main(String[] args) {new Main().run();}public void run() {Scanner fin = new Scanner(System.in);int N = fin.nextInt();int[] count = new int[10001];for (int i = 0; i < N; ++i) {++count[fin.nextInt()];}int maxCount = -1;int result = 0;for (int i = 1; i <= 10000; ++i) {if (count[i] > maxCount) {maxCount = count[i];result = i;}}System.out.println(result);}
}

2. ISBN 号码

import java.io.BufferedReader;
import java.io.InputStreamReader;public class Main {public static void main(String args[]) {BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));try{int sum=0;char cc='0';String isbn_0 = bin.readLine();String isbn = isbn_0.replace("-", "");for(int i=0; i<9; i++){int ii = (int)isbn.charAt(i)-48;sum += ii * (i+1);}sum = sum % 11;if(sum == 10) cc = 'X';//else cc = (char)(sum+48);if(cc == isbn.charAt(9)) System.out.println("Right");else{isbn_0 = isbn_0.substring(0,12) + cc;System.out.println(isbn_0);}}catch(Exception e){e.printStackTrace();}}
}

3.最大的矩形

import java.util.*;public class Main {public static void main(String[] args) {new Main().run();}public void run() {Scanner fin = new Scanner(System.in);int N = fin.nextInt();int[] height = new int[N];for (int i = 0; i < N; ++i) height[i] = fin.nextInt();int result = 0;for (int i = 0; i < N; ++i) {int width = 1;for (int j = i - 1; j >= 0; --j) {if (height[j] < height[i]) break;++width;}for (int j = i + 1; j < N; ++j) {if (height[j] < height[i]) break;++width;}int area = width * height[i];result = Math.max(result, area);}System.out.println(result);}
}

4.有趣的数

import java.util.*;public class Main {public static void main(String[] args) {new Main().run();}public void run() {Scanner fin = new Scanner(System.in);int N = fin.nextInt();long[] count = new long[8];count[6] = 0;count[7] = 1;long mod = 1000000007;for (int i = 2; i <= N; ++i) {long[] newCount = new long[8];newCount[0] = (count[0] * 2 + count[1] + count[3]) % mod;newCount[1] = (count[1] * 2 + count[2] + count[5]) % mod;newCount[2] = (count[2] + count[6]) % mod;newCount[3] = (count[3] * 2 + count[4] + count[5]) % mod;newCount[4] = (count[4] + count[7]) % mod;newCount[5] = (count[5] * 2 + count[6] + count[7]) % mod;newCount[6] = 0;newCount[7] = 1;count = newCount;}System.out.println(count[0]);}
}

5.I’m stuck!

import java.util.*;public class Main {public static void main(String[] args) {new Main().run();}public void run() {Scanner fin = new Scanner(System.in);int N = fin.nextInt();long[] count = new long[8];count[6] = 0;count[7] = 1;long mod = 1000000007;for (int i = 2; i <= N; ++i) {long[] newCount = new long[8];newCount[0] = (count[0] * 2 + count[1] + count[3]) % mod;newCount[1] = (count[1] * 2 + count[2] + count[5]) % mod;newCount[2] = (count[2] + count[6]) % mod;newCount[3] = (count[3] * 2 + count[4] + count[5]) % mod;newCount[4] = (count[4] + count[7]) % mod;newCount[5] = (count[5] * 2 + count[6] + count[7]) % mod;newCount[6] = 0;newCount[7] = 1;count = newCount;}System.out.println(count[0]);}
}5.I’m stuck!
import java.util.*;public class Main {public static void main(String[] args) {new Main().run();
}public void run() {Scanner fin = new Scanner(System.in);int R = fin.nextInt();int C = fin.nextInt();fin.nextLine();int[][] board = new int[R + 2][C + 2];int rowStart = 0, colStart = 0, rowEnd = 0, colEnd = 0;for (int i = 1; i <= R; ++i) {String line = fin.nextLine();for (int j = 1; j <= C; ++j) {char c = line.charAt(j - 1);switch (c) {case '#': break;case '-': board[i][j] = 5; break;case '|': board[i][j] = 0xA; break;case '+':case 'S':case 'T':board[i][j] = 0xF; break;case '.': board[i][j] = 0x8; break;default: break;}if (c == 'S') {rowStart = i;colStart = j;} else if (c == 'T') {rowEnd = i;colEnd = j;}}}int[] dr = new int[] {0, -1, 0, 1};int[] dc = new int[] {1, 0, -1, 0};// Scan 1: find all cells which can reach Tboolean[][] visited = new boolean[R + 2][C + 2];boolean[][] canReachT = new boolean[R + 2][C + 2];initVisited(visited);canReachT[rowEnd][colEnd] = true;visited[rowEnd][colEnd] = true;Queue<Integer> queue = new LinkedList<Integer>();queue.add(rowEnd);queue.add(colEnd);while (!queue.isEmpty()) {int r = queue.remove();int c = queue.remove();for (int i = 0; i < 4; ++i) {int nr = r + dr[i];int nc = c + dc[i];if (visited[nr][nc]) continue;if ((board[nr][nc] & (1 << ((i + 2) % 4))) != 0) {canReachT[nr][nc] = true;queue.add(nr);queue.add(nc);visited[nr][nc] = true;}}}/*for (int i = 1; i <= R; ++i) {for (int j = 1; j <= C; ++j) {if (canReachT[i][j]) {System.out.println("i = " + i + ", j = " + j);}}}*/if (!canReachT[rowStart][colStart]) {System.out.println("I'm stuck!");return;}// Scan 2: get resultboolean[][] rCanReach = new boolean[R + 2][C + 2];initVisited(visited);queue.clear();visited[rowStart][colStart] = true;rCanReach[rowStart][colStart] = true;queue.add(rowStart);queue.add(colStart);while (!queue.isEmpty()) {int r = queue.remove();int c = queue.remove();for (int i = 0; i < 4; ++i) {if ((board[r][c] & (1 << i)) == 0) continue;int nr = r + dr[i];int nc = c + dc[i];if (visited[nr][nc]) continue;if (board[nr][nc] == 0) continue;rCanReach[nr][nc] = true;queue.add(nr);queue.add(nc);visited[nr][nc] = true;}}int result = 0;for (int i = 1; i <= R; ++i) {for (int j = 1; j <= C; ++j) {/*if (rCanReach[i][j]) {System.out.println("i = " + i + ", j = " + j);}*/if (rCanReach[i][j] && (!canReachT[i][j])) ++result;}}System.out.println(result);
}private void initVisited(boolean[][] visited) {int R = visited.length - 2;int C = visited[0].length - 2;for (int i = 0; i <= R + 1; ++i) {visited[i][0] = true;visited[i][C + 1] = true;}for (int j = 0; j <= C + 1; ++j) {visited[0][j] = true;visited[R + 1][j] = true;}for (int i = 1; i <= R; ++i) {for (int j = 1; j <= C; ++j) {visited[i][j] = false;}}}
}

CCF201312--模拟练习试题参考答案(Java)相关推荐

  1. 2011年全国软件大赛模拟题及参考答案(Java高职组)

    2011年全国软件大赛模拟题及参考答案(Java高职组) 不是官方的答案,如有不妥,请指出. 2011 模拟 java 高职 注意: 本套模拟题主要模拟命题形式与考核范围.真实竞赛题的数量.难度可能与 ...

  2. 计算机图形学基础考试题及答案,计算机图形学基础模拟试题参考答案

    1. 计算机图形学基础模拟试题参考答案一.名 词 解 释 ( 共 9 分 , 每 题 3 分 )1. 1. 计算机图形学研究怎样用计算机生成.处理和显示图形和科学.2构造根据选择的作图命令和指定的一系 ...

  3. 2022年硕士研究生招生考试初试模拟试题参考答案

    作者:江上_酒 QQ: 1470784960 Email: iszhaoxl@163.com 申明: 此为模拟卷一答案,如有错误可直接在评论区留言,我会及时处理. 转载使用均需要标明出处,(制作不易, ...

  4. 惠州学院java试卷_惠州学院高等数学(下)期末试题参考答案

    高等数学(下)期末试题参考答案 一.单项选择题(每题2分,总计10分). 1.),(00y x f x 和),(00y x f y 存在是函数),(y x f 在点),(00y x 连续的( ). A ...

  5. 2018上半年软件设计师上午试题参考答案

    文章转自:https://blog.csdn.net/feiyanaffection/article/details/80977394#commentBox 2018上半年软件设计师上午试题参考答案 ...

  6. 2018年上半年软件设计师试题参考答案

    2018上半年软件设计师上午试题参考答案 基础知识 A.O(lgn) B.O(n) C.O(nlgn) D.O(n²) A.4 B.5 C.6 D.7 2018上半年软件设计师下午试题参考答案 综合技 ...

  7. 计算机三级数据库2020年试题,2020年计算机三级数据库考试模拟强化试题及答案...

    [导语]"数据库技术"科目考核数据库系统基础知识及数据库应用系统项目开发和维护的基本技能,下文是无忧考网为您搜集整理的2020年计算机三级数据库考试模拟强化试题及答案,有需要的考生 ...

  8. 《招聘一个靠谱的iOS》面试题参考答案(下)

    参考: <招聘一个靠谱的iOS>面试题参考答案(下) <招聘一个靠谱的iOS> 25 _objc_msgForward函数是做什么的,直接调用它将会发生什么? _objc_ms ...

  9. 计算机应用基础2004年,计算机应用基础2004年下半年全国试题参考答案2

    -.单项选择题(本大题共40小题,每小题1分,共40分) 1.D 2.B 3.C 4.A 5.A 6.C 7.D 8.A 9.B 10.C 11.A 12.D 13.C 14.A 15.D l6.B ...

  10. 高级php程序员面试题2019,2019最新PHP模拟面试题及答案

    原标题:2019最新PHP模拟面试题及答案 PHP模拟面试题汇总如下: 1.如何防止form表单重复提交? 2.Cookie被禁用了session还可以使用吗? 3.你了解的或者用过的版本控制工具有哪 ...

最新文章

  1. HDU-1258 Sum It Up DFS
  2. boost::mp11::mp_any_of相关用法的测试程序
  3. BeetleX之vue-autoui自匹配UI插件
  4. 使用Mybatis Generator结合Ant脚本快速自动生成Model、Mapper等文件的方法
  5. Qtopia-2.2.0启动脚本
  6. labview报表生成工具包_后台开发java 常见工具包 netty、mq 、分布式锁等,干货
  7. 8个按键控制8个继电器c语言程序,单片机C语言程序的设计实训100例.doc
  8. HTML动态视频背景全代码
  9. Genymotion启动报错:VT-x/AMD-V硬件加速在您的系统中不可用
  10. Wap开发FAQ大全
  11. ps插件套装imagenomic磨皮滤镜安装教程
  12. uniapp ios打包上架
  13. mysql 模糊查询 查询条件为多个
  14. 《孙子兵法》的优秀读后感作文2100字
  15. 其实带宽≠速度 ADSL加速法完全功略
  16. 她笔下的水墨世界令人赞叹,中国风海报沉浸式国风体验
  17. 人工智能里你不知道的那些事!所有人都感兴趣的文章
  18. linux中给普通用户添加root用户权限
  19. 通过ssh-keygen命令生成SSH密钥
  20. 科研论文投稿状态解析大全

热门文章

  1. 在移动设备中创建ArcGIS API for JavaScript地图应用程序
  2. k8s之PodIP、ClusterIP和ExternalIP
  3. cocos2d-x之SimpleGame分析
  4. C#制作不规则窗体的简单方法
  5. C#图片处理之: 锐化
  6. 认识HTML与CSS
  7. mysql用命令行创建表_mysql命令行创建表
  8. win10配置清华源——快速安装anaconda、TensorFlow和pytorch
  9. 男友升级为老公的时候
  10. Tableau可视化学习笔记:day07-08