原题链接:蓝桥杯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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复