2023/08/10

在 MMORPG《最终幻想14》的副本“乐欲之所瓯博讷修道院”里,BOSS 机工士姆斯塔迪奥将会接受玩家的挑战。

你需要处理这个副本其中的一个机制:N×M 大小的地图被拆分为了 N×M 个 1×1 的格子,BOSS 会选择若干行或/及若干列释放技能,玩家不能站在释放技能的方格上,否则就会被击中而失败。

给定 BOSS 所有释放技能的行或列信息,请你计算出最后有多少个格子是安全的。

输入格式:
输入第一行是三个整数 N,M,Q (1≤N×M≤10 
50≤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);
    }
}

 

posted @ 2023-08-10 16:43  伐木工熊大  阅读(28)  评论(0编辑  收藏  举报