第十四届蓝桥杯三月真题刷题训练——第 17 天

目录

第 1 题:ASC

运行限制

代码:

第 2 题:递增三元组_双指针_long

输出描述

输入输出样例

运行限制

代码:

第 3 题:环境治理

代码:

第 4 题:小球称重 

代码:


第 1 题:ASC

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

已知大写字母 A 的 ASCII 码为 65,请问大写字母 L 的 ASCII 码是多少?

运行限制

  • 最大运行时间:1s
  • 最大运行内存: 128M

代码:

package 第十四届蓝桥杯三月真题刷题训练.day17;

/**
 * @author yx
 * @date 2023-03-20 13:34
 */
public class ASC {
    public static void main(String[] args) {
        System.out.println((int) 'L');
    }
}

第 2 题:递增三元组_双指针_long

第二行包含 N 个整数 A1,A2,⋯AN。

第三行包含 N 个整数 B1,B2,⋯BN。

第四行包含 N 个整数 C1,C2,⋯CN。

其中,1≤N≤10^5,0≤Ai,Bi,Ci≤10^5。

输出描述

输出一个整数表示答案。

输入输出样例

示例

输入

3
1 1 1
2 2 2
3 3 3

输出

27

运行限制

  • 最大运行时间:2s
  • 最大运行内存: 256M

代码:

package 第十四届蓝桥杯三月真题刷题训练.day17;

import java.io.*;
import java.util.Arrays;

/**
 * @author yx
 * @date 2023-03-20 13:37
 */
public class 递增三元组__双指针_long {
    static PrintWriter out = new PrintWriter(System.out);
    static BufferedReader ins = new BufferedReader(new InputStreamReader(System.in));
    static StreamTokenizer in = new StreamTokenizer(ins);

    /**
     * 输入
     * in.nextToken()
     * int a= (int)in.nval;
     * <p>
     * 输出
     * out.print();
     * out.flush();
     * <p>
     * 读文件:
     * BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("C:\\Users\\yx\\Desktop\\primes.txt")));
     * String s = br.readLine();s读取每一行数据
     * if (s == null)break;读取文件终止的语句
     **/
    public static void main(String[] args) throws IOException {
        in.nextToken();
        int n = (int) in.nval;
        int[] A = new int[n];
        int[] B = new int[n];
        int[] C = new int[n];
        for (int i = 0; i < n; i++) {
            in.nextToken();
            A[i] = (int) in.nval;
        }
        for (int i = 0; i < n; i++) {
            in.nextToken();
            B[i] = (int) in.nval;
        }
        for (int i = 0; i < n; i++) {
            in.nextToken();
            C[i] = (int) in.nval;
        }
        Arrays.sort(A);
        Arrays.sort(B);
        Arrays.sort(C);
        int i_A = 0;
        int i_C = 0;
        //ans要long
        long ans=0;
        for (int i_B = 0; i_B < n; i_B++) {
            while (i_A<n&&A[i_A]<B[i_B])i_A++;
            while (i_C<n&&C[i_C]<=B[i_B])i_C++;
            ans+=(long) (i_A)*(n-i_C);
        }
        out.println(ans);
        out.flush();
    }

}

第 3 题:环境治理

代码:

第 4 题:小球称重 

代码:

猜你喜欢

转载自blog.csdn.net/m0_55858611/article/details/129665685
今日推荐