第9届蓝桥杯 国赛 java C组
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组相关推荐
- 2020年第十一届蓝桥杯 - 国赛 - Java研究生组 - F.循环小数
2020年第十一届蓝桥杯 - 国赛 - Java研究生组 - F.循环小数 在线评测 Ideas 对于一个纯循环小数,假设循环节为l,则小数为0.llll-,转换为分数就是 l / (10 ** n ...
- 填词游戏java_第八届蓝桥杯国赛 Java B组 第五题 填字母游戏(博弈论)
解题思路: 因为是博弈论,所以我们要对先手的必胜态和必败态分析. 1.首先我们看赢遇到的状态,就是给出的串的子串有LO*,*OL,L*L这三种情况(就叫福利局吧~).都可以直接填出LOL,获胜. 2. ...
- 2020第十一届蓝桥杯国赛JAVA B组真题解析(带源码及解析)
蓝桥杯历年真题及解析. 目录 蓝桥杯历年真题及解析. A: 美丽的 2 题目: 分析: AC代码: B: 扩散 题目: 分析: AC代码: C: 阶乘约数 题目: 分析: AC代码: D: 本质上升序 ...
- 2016蓝桥杯国赛 JAVA C组第五题 路径之谜
蓝桥杯确实很暴力... 路径之谜 小明冒充X星球的骑士,进入了一个奇怪的城堡. 城堡里边什么都没有,只有方形石头铺成的地面. 假设城堡地面是 n x n 个方格.[如图1.png]所示. 按习俗,骑士 ...
- 第六届 蓝桥杯 省赛 Java B组 牌型总数
牌型种数 小明被劫持到X赌城,被迫与其他3人玩牌. 一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张. 这时,小明脑子里突然冒出一个问题: 如果不考虑花色,只考虑点数,也不考虑自己得 ...
- 2019第十届蓝桥杯国赛c++B组真题及题解
幸运地水了个国一,应该是对了3个结果填空,2+0.5+0.5个编程大题. 此次国赛共有十个题: A~E 五个结果填空,F~J 五个编程大题. 目前并未找到标准答案,个人解法可能并不完全正确或最优,不对 ...
- 2016年第七届蓝桥杯 - 国赛 - Java大学C组 - I. 路径之谜
路径之谜 小明冒充X星球的骑士,进入了一个奇怪的城堡. 城堡里边什么都没有,只有方形石头铺成的地面. 假设城堡地面是 n x n 个方格.[如图1.png]所示. 按习俗,骑士要从西北角走到东南角. ...
- 2016年第七届蓝桥杯 - 国赛 - Java大学C组 - A. 平方末尾
平方末尾 能够表示为某个整数的平方的数字称为"平方数" 比如,25,64 虽然无法立即说出某个数是平方数,但经常可以断定某个数不是平方数. 因为平方数的末位只可能是:[0, 1, ...
- 2015年第六届蓝桥杯省赛Java B组真题+个人题解
1-三角形面积 思路: 割补法求三角形面积 s=矩形面积-3个小三角形面积 答案: 28 代码: import java.io.IOException; import java.io.PrintWri ...
最新文章
- Java项目:嘟嘟网上商城系统(java+jdbc+jsp+mysql+ajax)
- 如何查看Linux内核是否为64位版本?
- ARM嵌入式开发之JTAG与SWD接口
- 共模电感适用的频率_【连载】手机常见电子元件介绍数据共模电感
- 360 mysql无法启动_安装MySQL 5后无法启动(不能Start service)解决方法小结
- python爬取京东手机数据_实例解析Python如何实现爬取京东手机图片
- 视镜:华为云媒体质量管理最新实践
- 神经网络之文本情感分析(四)
- Python中的第三方模块(微信为例)
- HITS 算法(Hypertext Induced TopicSelection)
- 【C语言】冒泡排序与回文判断
- 关于引力波的一些疑问
- vs2010 c语言乱码,从vs2010中复制带有中文字符的代码到office等时出现乱码的解决方案.doc...
- 【有限元】最简单fluent流体分析实例-2D模型中带障碍物计算流体流速与压力分布
- Maxwell 16.0 (64-bit) 软件卸载_Win7系统
- 微信怎么更新最新版本?两招搞定,别轻易卸载!
- 搭建各类游戏如何选择合适的服务器
- android电视分辨率是多少合适,电视分辨率多少合适
- mac风扇一直响_您如何找出哪个计算机风扇被响了?
- 我又有一位程序员朋友成了自由职业者
热门文章
- 易基因|细菌全基因组甲基化纳米孔测序(ONT):技术推介
- FI中定义附加本位货币,硬通货
- (精华)2020年6月26日 C#类库 百度api发送短信验证码帮助类
- C# AE 等高线建树(1)生成等高线
- python中每个if条件后都要使用冒号吗_机器学习之python入门指南(三)条件语句和循环语句的使用...
- onmousedown 与onmouseup事件在一个按钮中同时调用
- springboot模块化开发--项目搭建
- 小米物联网世界第一_小米成为全球最大的智能硬件IoT平台,你知道吗?
- rk3128网络机顶盒一些测试结果
- 计算机英语写作话题,跪求一篇英语作文 题目:论计算机的优缺点