原题链接:蓝桥杯2018年第九届真题-递增三元组
解题思路:
遍历数组B,找出数组A中比当前数字小的数字个数,找出数组C中比当前数字大的数字个数,两个数字相乘得到数组B中当前数组能组成的三元组个数。
具体实现参考代码注释。
注意事项:
参考代码:
import java.util.Scanner; /** * 题目地址:https://www.dotcpp.com/oj/problem2194.html * @author yang * */ public class Seq2194 { public static void main(String[] args) { // 输入 Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] a = new int[n]; int[] b = new int[n]; int[] c = new int[n]; for(int i =0; i<n*3; i++){ if(i<n){ a[i]=sc.nextInt(); }else if(i<n*2){ b[i-n]=sc.nextInt(); }else{ c[i-n*2]=sc.nextInt(); } } int count = 0; // 判断:遍历数组b for(int i =0; i<n; i++){ // 判断数组a中比b小的数字个数 int min = 0; for(int k = 0; k<n; k++){ if(a[k]<b[i]){ min++; } } // 判断数组c中比b大的数字个数 int max = 0; for(int k = 0; k<n; k++){ if(c[k]>b[i]){ max++; } } // 计算 count += min*max; } // 输出 System.out.println(count); } }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复