Java刷ACM模式的各类输入输出构造 您所在的位置:网站首页 二维数组输入 Java刷ACM模式的各类输入输出构造

Java刷ACM模式的各类输入输出构造

2023-03-18 13:11| 来源: 网络整理| 查看: 265

LeetCode上刷题都是用到核心代码模式,而部分笔试题使用的是ACM模式。

1、多行输入

以牛客上的奖学金一题为例,详细见下面代码:

package learnACM; import java.util.Arrays; import java.util.Scanner; public class MultilineInput { // 题目 // 小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg。 // 每门课由平时成绩和考试成绩组成,满分为r。 // 现在他知道每门课的平时成绩为ai ,若想让这门课的考试成绩多拿一分的话,小v要花bi 的时间复习,不复习的话当然就是0分。 // 同时我们显然可以发现复习得再多也不会拿到超过满分的分数。为了拿到奖学金,小v至少要花多少时间复习。 public static void main(String[] args) { // 输入描述: // 第一行三个整数n,r,avg(n大于等于1小于等于1e5,r大于等于1小于等于1e9,avg大于等于1小于等于1e6), // 接下来n行,每行两个整数ai和bi,均小于等于1e6大于等于1 // 示例1 // 输入 // 5 10 9 // 0 5 // 9 1 // 8 1 // 0 1 // 9 100 //Scanner类默认的分隔符就是空格 Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int n=sc.nextInt(); int full=sc.nextInt(); int avg=sc.nextInt(); int[][] nums=new int[n][2]; for(int i=0;i o1[1] - o2[1]);//按复习代价从小到大排序 long sum=0; for(int[] a:nums) { sum+=a[0]; } long limit=avg*n; int index=0; long time=0; while(sum


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有