普及练习场 简单的模拟 铺地毯

来源:互联网 发布:合肥淘宝客服招聘兼职 编辑:程序博客网 时间:2024/05/02 01:57

题目链接

题意理解

这题的话,不能直接去模拟,因为按照地板来模拟,会炸空间,说不定时间也会炸。

所以需要在得到了x,y之后,去找(x,y)坐标上的最上面一块地毯。

然后我之后可能会有很长一段时间拿Java写代码。我很想吐槽的是,Java的时间和空间确实不够优秀,至少和C++ 比起来。

然后回归正题,这题可以优化的,只要从后面开始找就好了,一找到就退出,找不到就是-1。

代码

import java.util.Scanner;public class Main {    private static class Carpet {        int a;        int b;        int g;        int k;        public Carpet(int a, int b, int g, int k) {            this.a = a;            this.b = b;            this.g = g;            this.k = k;        }    }    static int n;    static int a, b, g, k;    static int x, y;    public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);        n = scanner.nextInt();        Carpet[] carpet = new Carpet[n];        for(int i = 0; i < n; i++) {            a = scanner.nextInt();            b = scanner.nextInt();            g = scanner.nextInt();            k = scanner.nextInt();            carpet[i] = new Carpet(a, b, g, k);        }        x = scanner.nextInt();        y = scanner.nextInt();        int top = -1;        for(int i = 0; i < n; i++) {            if(carpet[i].a <= x && x <= carpet[i].a + carpet[i].g) {                if(carpet[i].b <= y && y <= carpet[i].b + carpet[i].k) {                    top = i + 1;                }            }        }        scanner.close();        System.out.println(top);    }}

—————————————————C++分割线—————————————–

#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <algorithm>#include <iostream>using namespace std;int n,x,y;struct node{    int x,y,xl,yl;}t[10010];int main(){    scanf("%d",&n);    for(int i=1;i<=n;i++) scanf("%d%d%d%d",&t[i].x,&t[i].y,&t[i].xl,&t[i].yl);    scanf("%d%d",&x,&y);    for(int i=n;i>=1;i--)    {        if(x>=t[i].x && x<=t[i].x+t[i].xl && y>=t[i].y && y<=t[i].y+t[i].yl)        {            printf("%d",i);            return 0;         }    }    printf("-1");    return 0;}

这里的cpp代码不是我写的,是我直接看的别人的代码,如有侵权,告知后立即删除


欢迎加入“不会算法一群菜鸟”,群号是⑥⑥①⑨②2025,这是我设置的一道很低的门槛用来阻止广告的。入群的验证暗号是:我爱编译原理

原创粉丝点击