9.第9届蓝桥杯

https://blog.csdn.net/qq_43449564/article/details/109333799

https://blog.csdn.net/weixin_44034328/article/details/105332551

https://blog.csdn.net/weixin_43771695/article/details/104131313

2 海盗与金币

https://blog.csdn.net/bettle_king/article/details/115802052

import java.util.Arrays;public class 海盗与金币 {public static void main(String[] args) {int[] gold = new int[12];// 第12轮所有人都相等的金币数dArrays.fill(gold, 4096);// 12个海盗,开始逆推:每个海盗都分出自己财产的1/2,给一个海盗,执行12次for (int i = 0; i < 12; i++) {int sum = 0;// 其他海盗补偿给当前海盗for (int j = 0; j < 12; j++) {//              自己不分给自己if (i == j) continue;
//                其他海盗财产折半gold[j] /= 2;
//                折半的财产相加sum += gold[j];}
//            赋给当前海盗gold[i] += sum;}for (int i = 0; i < gold.length; i++) {System.out.print(gold[i]+" ");}}
}
  • 优化
import java.util.Arrays;public class Test {public static void main(String[] args) {int[] coin = new int[12];for (int sum = 12; sum <= 50000; sum+= 12) {Arrays.fill(coin, sum / 12);
//            反向遍历dfs(0, sum, coin);}}static void dfs(int cur, int sum, int[] coin) {//      到了第2个海盗if (cur == 12) {for (int i = 0; i < 12; i++)System.out.print(coin[i] + " ");System.out.println();} else {int cnt = 0;for (int i = 0; i < 12; i++) {//              自己不分给自己if (i == cur) continue;
//                金币不能折半的去掉if (coin[i]%2 != 0) return;
//                金币的折半cnt += coin[i] /= 2;}
//            分给当前的海盗coin[cur] +=  cnt;dfs(cur + 1, sum, coin);}}
}

4 约瑟夫环

  • 数组
import java.util.Scanner;public class Test3 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int k = scanner.nextInt();boolean[] arr = new boolean[n];int tem = 0;int kk = 0;for (int i = 0; i < arr.length; i++) {if (arr[i] == false) {//              当这点还存在时,进行相加kk++;}if (kk == k) {arr[i] = true;tem++;
//              把这个值重置,然后就可以重新判断了kk = 0;}
//          判断是否只剩下了最后一个if (tem == arr.length-1) {for (int j = 0; j < arr.length; j++) {if (arr[j] == false) {System.out.println(j+1);break;}}
//              跳出外层循环break;}if (i == arr.length-1) {//                  重新遍历i = -1;}}}
}
  • 链表
import java.util.Scanner;public class Test2 {static class Node{//      记录当前节点的坐标int position;
//      它的下一个节点Node next;public Node(int position) {super();this.position = position;}public Node() {super();}}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int k = scanner.nextInt();
//      前后辅助节点和头结点Node PreNode = new Node();Node AfterNode = new Node();Node headNode = new Node(0);AfterNode = headNode;
//      从第二个结点开始遍历for (int i = 1; i < n; i++) {//          当前节点赋给前节点PreNode = AfterNode;Node node = new Node(i);
//          当前节点的赋值AfterNode = node;
//          前节点连接当前节点PreNode.next = AfterNode;}
//      末尾节点指向头结点AfterNode.next = headNode;
//      重置两个辅助节点,都指向头结点PreNode = headNode;AfterNode = headNode;
//      tem:代表个数,kk代表书否到了k值int kk = 1,tem = 0;while (true) {//          这里的kk代表了AfterNode所在的位置,因为AferNode会在其实的位置+1,所以k要从1开始
//          PreNode代表当前节点kk++;
//          保留当前的结点PreNode =AfterNode;
//          AfterNode指向当前节点的下一个节点AfterNode = AfterNode.next;
//          如果kk已经到了kif (kk == k) {//             直接去掉,当前节点直接指向下一个节点(目标)的下一个节点,实现了删除功能PreNode.next = AfterNode.next;
//              把当前节点赋值AfterNode,然后循环之后在赋给PreNode,这样就代表了起始节点AfterNode = PreNode.next;
//              重置kk的值kk = 1;
//              记录个数tem++;}if (tem == n-1) {System.out.println(PreNode.position+1);break;}}}
}
  • 公式

https://blog.csdn.net/u011500062/article/details/72855826

5.交换次数

第9届蓝桥杯 国赛 java C组相关推荐

  1. 2020年第十一届蓝桥杯 - 国赛 - Java研究生组 - F.循环小数

    2020年第十一届蓝桥杯 - 国赛 - Java研究生组 - F.循环小数 在线评测 Ideas 对于一个纯循环小数,假设循环节为l,则小数为0.llll-,转换为分数就是 l / (10 ** n ...

  2. 填词游戏java_第八届蓝桥杯国赛 Java B组 第五题 填字母游戏(博弈论)

    解题思路: 因为是博弈论,所以我们要对先手的必胜态和必败态分析. 1.首先我们看赢遇到的状态,就是给出的串的子串有LO*,*OL,L*L这三种情况(就叫福利局吧~).都可以直接填出LOL,获胜. 2. ...

  3. 2020第十一届蓝桥杯国赛JAVA B组真题解析(带源码及解析)

    蓝桥杯历年真题及解析. 目录 蓝桥杯历年真题及解析. A: 美丽的 2 题目: 分析: AC代码: B: 扩散 题目: 分析: AC代码: C: 阶乘约数 题目: 分析: AC代码: D: 本质上升序 ...

  4. 2016蓝桥杯国赛 JAVA C组第五题 路径之谜

    蓝桥杯确实很暴力... 路径之谜 小明冒充X星球的骑士,进入了一个奇怪的城堡. 城堡里边什么都没有,只有方形石头铺成的地面. 假设城堡地面是 n x n 个方格.[如图1.png]所示. 按习俗,骑士 ...

  5. 第六届 蓝桥杯 省赛 Java B组 牌型总数

    牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌. 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张. 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不考虑自己得 ...

  6. 2019第十届蓝桥杯国赛c++B组真题及题解

    幸运地水了个国一,应该是对了3个结果填空,2+0.5+0.5个编程大题. 此次国赛共有十个题: A~E 五个结果填空,F~J 五个编程大题. 目前并未找到标准答案,个人解法可能并不完全正确或最优,不对 ...

  7. 2016年第七届蓝桥杯 - 国赛 - Java大学C组 - I. 路径之谜

    路径之谜 小明冒充X星球的骑士,进入了一个奇怪的城堡. 城堡里边什么都没有,只有方形石头铺成的地面. 假设城堡地面是 n x n 个方格.[如图1.png]所示. 按习俗,骑士要从西北角走到东南角. ...

  8. 2016年第七届蓝桥杯 - 国赛 - Java大学C组 - A. 平方末尾

    平方末尾 能够表示为某个整数的平方的数字称为"平方数" 比如,25,64 虽然无法立即说出某个数是平方数,但经常可以断定某个数不是平方数. 因为平方数的末位只可能是:[0, 1, ...

  9. 2015年第六届蓝桥杯省赛Java B组真题+个人题解

    1-三角形面积 思路: 割补法求三角形面积 s=矩形面积-3个小三角形面积 答案: 28 代码: import java.io.IOException; import java.io.PrintWri ...

最新文章

  1. Java项目:嘟嘟网上商城系统(java+jdbc+jsp+mysql+ajax)
  2. 如何查看Linux内核是否为64位版本?
  3. ARM嵌入式开发之JTAG与SWD接口
  4. 共模电感适用的频率_【连载】手机常见电子元件介绍数据共模电感
  5. 360 mysql无法启动_安装MySQL 5后无法启动(不能Start service)解决方法小结
  6. python爬取京东手机数据_实例解析Python如何实现爬取京东手机图片
  7. 视镜:华为云媒体质量管理最新实践
  8. 神经网络之文本情感分析(四)
  9. Python中的第三方模块(微信为例)
  10. HITS 算法(Hypertext Induced TopicSelection)
  11. 【C语言】冒泡排序与回文判断
  12. 关于引力波的一些疑问
  13. vs2010 c语言乱码,从vs2010中复制带有中文字符的代码到office等时出现乱码的解决方案.doc...
  14. 【有限元】最简单fluent流体分析实例-2D模型中带障碍物计算流体流速与压力分布
  15. Maxwell 16.0 (64-bit) 软件卸载_Win7系统
  16. 微信怎么更新最新版本?两招搞定,别轻易卸载!
  17. 搭建各类游戏如何选择合适的服务器
  18. android电视分辨率是多少合适,电视分辨率多少合适
  19. mac风扇一直响_您如何找出哪个计算机风扇被响了?
  20. 我又有一位程序员朋友成了自由职业者

热门文章

  1. 易基因|细菌全基因组甲基化纳米孔测序(ONT):技术推介
  2. FI中定义附加本位货币,硬通货
  3. (精华)2020年6月26日 C#类库 百度api发送短信验证码帮助类
  4. C# AE 等高线建树(1)生成等高线
  5. python中每个if条件后都要使用冒号吗_机器学习之python入门指南(三)条件语句和循环语句的使用...
  6. onmousedown 与onmouseup事件在一个按钮中同时调用
  7. springboot模块化开发--项目搭建
  8. 小米物联网世界第一_小米成为全球最大的智能硬件IoT平台,你知道吗?
  9. rk3128网络机顶盒一些测试结果
  10. 计算机英语写作话题,跪求一篇英语作文 题目:论计算机的优缺点