2023/08/10
在 MMORPG《最终幻想14》的副本“乐欲之所瓯博讷修道院”里,BOSS 机工士姆斯塔迪奥将会接受玩家的挑战。 你需要处理这个副本其中的一个机制:N×M 大小的地图被拆分为了 N×M 个 1×1 的格子,BOSS 会选择若干行或/及若干列释放技能,玩家不能站在释放技能的方格上,否则就会被击中而失败。 给定 BOSS 所有释放技能的行或列信息,请你计算出最后有多少个格子是安全的。 输入格式: 输入第一行是三个整数 N,M,Q (1≤N×M≤10 5 ,0≤Q≤1000),表示地图为 N 行 M 列大小以及选择的行/列数量。 接下来 Q 行,每行两个数 T i ,C i ,其中 T i =0 表示 BOSS 选择的是一整行,T i =1 表示选择的是一整列,C i 为选择的行号/列号。行和列的编号均从 1 开始。 输出格式: 输出一个数,表示安全格子的数量。 输入样例: 5 5 3 0 2 0 4 1 3 输出样例: 12
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc=new Scanner(System.in); int N=sc.nextInt(); int M=sc.nextInt(); int n=sc.nextInt(); int[][] map=new int[N][M]; for(int i=0;i<n;i++) { int way=sc.nextInt(); int no=sc.nextInt(); if(way==0) { for(int j=0;j<M;j++) { map[no-1][j]=1; } } else if(way==1) { for(int j=0;j<N;j++) { map[j][no-1]=1; } } } int num=0; for(int i=0;i<map.length;i++) for(int j=0;j<map[i].length;j++) { if(map[i][j]==0) { num++; } } System.out.print(num); } }
天梯赛结束后,某企业的人力资源部希望组委会能推荐一批优秀的学生,这个整理推荐名单的任务就由静静姐负责。企业接受推荐的流程是这样的: 只考虑得分不低于 175 分的学生; 一共接受 K 批次的推荐名单; 同一批推荐名单上的学生的成绩原则上应严格递增; 如果有的学生天梯赛成绩虽然与前一个人相同,但其参加过 PAT 考试,且成绩达到了该企业的面试分数线,则也可以接受。 给定全体参赛学生的成绩和他们的 PAT 考试成绩,请你帮静静姐算一算,她最多能向企业推荐多少学生? 输入格式: 输入第一行给出 3 个正整数:N(≤10 5 )为参赛学生人数,K(≤5×10 3 )为企业接受的推荐批次,S(≤100)为该企业的 PAT 面试分数线。 随后 N 行,每行给出两个分数,依次为一位学生的天梯赛分数(最高分 290)和 PAT 分数(最高分 100)。 输出格式: 在一行中输出静静姐最多能向企业推荐的学生人数。 输入样例: 10 2 90 203 0 169 91 175 88 175 0 175 90 189 0 189 0 189 95 189 89 256 100 输出样例: 8 样例解释: 第一批可以选择 175、189、203、256 这四个分数的学生各一名,此外 175 分 PAT 分数达到 90 分的学生和 189 分 PAT 分数达到 95 分的学生可以额外进入名单。第二批就只剩下 175、189 两个分数的学生各一名可以进入名单了。最终一共 8 人进入推荐名单。
import java.util.Scanner; public class Main{ public static void main(String[] args) { int[] w=new int[291]; Scanner sc=new Scanner(System.in); int N=sc.nextInt(); int K=sc.nextInt(); int S=sc.nextInt(); int num=0; for(int i=0;i<N;i++) { int x=sc.nextInt(); int pat=sc.nextInt(); if(x>=175) { if(pat>=S)//同时满足为额外的名额,不记录 { num++; } else if(w[x]<K) { num++; w[x]++; } } } System.out.println(num); } }