P1008题目要求

P1008题目链接

P1618题目要求

P1618题目链接

分析

P1618是P1008的增强版,使得一个水题没有那么水了,不过还是挺简单的。

其实judge()函数的话,两题可以共用,就是判断一下是不是“槽位已满”而已。如果还有坑位就占上,就这么个思路。

main()里的基本流程的话,其实没什么特别的算法,暴力枚举就行。
第一题的话由于是1:2:3,所以下限也就123,上限也就333,在里面遍历能缩小范围。
第二题的话由于是A:B:C,所以不能自设上下限,从1~999即可,极限暴力就好啦,但是必须在A,B,C那里设限,全部要在100 ~ 999之间,这个很重要,在judge()之前保证数据范围可以避免RE(数组越界)。

P1618第一次提交WA了一个样例:

我获取了测试数据5:
in
123 456 789
out
123 456 789

其实就是上面说的问题,不应该在for循环设限,而是应该在judge()之前设限。

P1008~AC代码(Java语言描述)

public class Main {private static byte[] arr = new byte[9];public static void main(String[] args) {for (int i = 123; i < 333; i++) {arr = new byte[9];int two = 2*i, three = 3*i;if (judge(i) && judge(two) && judge(three)) {System.out.println(i + " " + two + " " + three);}}}private static boolean judge(int i) {int a = i / 100;int b = (i % 100) / 10;int c = i - a*100 - b*10;if (b == 0 || c == 0 || a == b || a == c || b == c || arr[a-1] == 1 || arr[b-1] == 1 || arr[c-1] == 1) {return false;}arr[a-1] = arr[b-1] = arr[c-1] = 1;return true;}}

P1618~AC代码(Java语言描述)

import java.util.Scanner;public class Main {private static byte[] arr = new byte[9];private static boolean judge(int i) {int a = i / 100;int b = (i % 100) / 10;int c = i - a*100 - b*10;if (b == 0 || c == 0 || a == b || a == c || b == c || arr[a-1] == 1 || arr[b-1] == 1 || arr[c-1] == 1) {return false;}arr[a-1] = arr[b-1] = arr[c-1] = 1;return true;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int a = scanner.nextInt(), b = scanner.nextInt(), c = scanner.nextInt();scanner.close();boolean flag = false;for (int i = 1; i < 1000; i++) {arr = new byte[9];int one = a*i, two = b*i, three = c*i;if (one > 100 && one < 1000 && two > 100 && two < 1000 && three > 100 && three < 1000&& judge(one) && judge(two) && judge(three)) {flag = true;System.out.println(one + " " + two + " " + three);}}if (!flag) {System.out.println("No!!!");}}}

按比例切分组合数值(洛谷P1008、P1618题解,Java语言描述)相关推荐

  1. 合理抽象灵活运用排列组合(洛谷P2181题题解,Java语言描述)

    题目要求 P2181题目链接 分析 其实,本题是一个数学题... 首先由题意得,不会有三条对角线交于一点,所以过某一个交点有且只能有2条对角线. 而这两条对角线实质上是确定了4个顶点(也可以看做是一个 ...

  2. 随手练——洛谷-P1008 / P1618 三连击(暴力搜索)

    1.普通版 第一眼看到这个题,我脑海里就是,"我们是不是在哪里见过~",去年大一刚学C语言的时候写过一个类似的题目,写了九重循环....就像这样(在洛谷题解里看到一位兄台写的... ...

  3. 洛谷 P1008 三连击 题解

    [P1009 普及组] 三连击 题目背景 本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序. 题目描述 将 1, 2,...... , 9 共 9 个数分 ...

  4. 洛谷 P1008 [NOIP1998 普及组] 三连击

    [题目链接] 洛谷 P1008 [NOIP1998 普及组] 三连击 [题目考点] 1. 枚举 2. 数字拆分 [解题思路] 三个由1~9组成的3位数字,满足1:2:3.那么第一个数字最小为100,最 ...

  5. 枚举求解单词方阵(洛谷P1101题题解,Java语言描述)

    题目要求 P1101题目链接 分析 可以用DFS做,但我立下了个Flag,所以就用了朴素的枚举来做.... 结果,我的天哪,做了好几个小时-- 其实这种地图题,真的适合 DFS or BFS or D ...

  6. 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)

    题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...

  7. N进制正反累加判回文数(洛谷P1015题题解,Java语言描述)

    题目要求 P1015题目链接 分析 开始的时候写了这么一个代码,应该是比较基础的,是十进制的. private static void low() {Scanner scanner = new Sca ...

  8. 洛谷P1816 忠诚 题解

    洛谷P1816 忠诚 题解 题目描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意.但是由于一些人 ...

  9. 麦森数(洛谷P1045题题解,Java语言描述)

    题目要求 题目链接 分析 这题挺经典的,快速幂取模算法,如果求出大数再取模就可能T掉. 之前有篇文章写了这个算法:<快速幂算法详解&&快速幂取模算法详解> 既然是Java, ...

最新文章

  1. 2、使用rpm包安装grafana
  2. SkyWalking之高级玩法
  3. 蓝桥杯第七届省赛JAVA真题----压缩变换
  4. 《天天数学》连载43:二月十二日
  5. Windows10远程连接服务器时出现“这可能是由于CredSSP加密数据库修正”的错误提示的解决办法
  6. sql limit offset 的用法 但在SqlServer中用不了
  7. android自定义pickerview,开源项目 好用的PickerView库了
  8. kaptcha生成自定义图片验证码
  9. VUE项目学习(三):win10版nginx部署vue项目
  10. 【火炉炼AI】机器学习044-创建隐马尔科夫模型
  11. 江苏专转本计算机第七章,2013江苏专转本 第七章 无穷级数.ppt
  12. 004.前端面试排雷之唱、跳、rap三步曲(一)唱篇
  13. 学完python可以从事哪些工作?
  14. 【一起学Rust】Rust的Hello Rust详细解析
  15. softmax回归从零开始实现
  16. csp-202206
  17. 厦门理工学院OJ题解(1139:秦心的面具)
  18. 青柠网络验证远程api使用方法
  19. vue watch 监听不到变化_vue watch 监听路由变化
  20. 如何使用Arduino连接蜂鸣器与温度传感器

热门文章

  1. 每天至少保证4个小时在学习知识
  2. C/C++02: Josephus问题
  3. wdatepicker使用指南
  4. apache+webdav的安装配置
  5. XP中CPU占用率100%原因及解决方法
  6. Vue生命周期与自定义组件
  7. JAVA5000行代码什么概念_GitHub - catstiger/mvc: 一个不超过5000行代码的,快速,简单,易用的MVC框架。...
  8. springboot自动配置的原理_SpringBoot实战:详解SpringBoot自动配置原理
  9. android java 调用js_android WebApp 集成方式怎么使用java调用js
  10. java继续_Java中消除实现继续和面向接口编程