首页 > 其他分享 >村代码

村代码

时间:2024-03-21 09:57:02浏览次数:16  
标签:int 代码 point1 point2 static sc new

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class acw528 {
    static Scanner sc = new Scanner(System.in);

    static int t;
    public static void main(String[] args) {
        t = sc.nextInt();
        for (int i = 1; i <= t; i ++ ) {
            solved();
        }
    }

    static PIII[] points = new PIII[t];
    static int n, h, r;
    public static void solved() {
        n = sc.nextInt();
        h = sc.nextInt();
        r = sc.nextInt();

        points = new PIII[n];
        List<PIII> in = new ArrayList<>();
        List<PIII> out = new ArrayList<>();
        for (int i = 0; i < n; i ++ ) {
            int x = sc.nextInt(), y = sc.nextInt(), z = sc.nextInt();
            points[i] = new PIII(x, y, z);
            if (points[i].z - r <= 0) in.add(points[i]);
            if (points[i].z + r >= h) out.add(points[i]);
        }

    }

    public static boolean check(PIII point1, PIII point2) {
        long dist = (long) (point1.x - point2.x) * (point1.x - point2.x) + (long) (point1.y - point2.y)
                * (point1.y - point2.y) + (long) (point1.z - point2.z) * (point1.z - point2.z);
        return dist <= (long) r * r;
    }

    static class PIII {
        int x, y, z;
        public PIII(int x, int y, int z) {
            this.x = x;
            this.y = y;
            this.z = z;
        }
    }
}

import java.util.HashMap;
import java.util.Scanner;

// 如何存储 ?
// 如何利用哈希表 ?

public class acw1402 {
static int w, h;
static char[][] g;
static HashMap<String, Character> hashMap;

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    w = sc.nextInt(); h = sc.nextInt(); // 注意h和w
    g = new char[h][w];
    vis = new boolean[h][w];
    hashMap = new HashMap<>();

    for (int i = 0; i < h; i ++ ) {
        String s = sc.next();
        for (int j = 0; j < w; j ++ ) {
            g[i][j] = s.charAt(j);
        }
    }

    int cnt = 0;
    for (int i = 0; i < h; i ++ ) {
        for (int j = 0; j < w; j ++ ) {
            if (vis[i][j] || g[i][j] == '0') continue;
            sb = new StringBuilder("ST"); // 采用空格分割+方向的方式进行存储
            floodFill(i, j);
            String t = sb.toString();
            if (hashMap.containsKey(t)) continue;

            System.out.println("[now x and y] : " + "[" + i + ", " + j + "]");
            cnt ++ ;
            hashMap.put(t, (char) ('a' + (cnt - 1)));
        }
    }

    System.out.println(hashMap);
    System.out.println(hashMap.values());
}

static boolean[][] vis;
final static int[] dx = new int[] {-1, 0, 1, 0, -1, -1, 1, 1};
final static int[] dy = new int[] {0, 1, 0, -1, -1, 1, -1, 1};
static StringBuilder sb;
public static void floodFill(int x, int y) {
    vis[x][y] = true;
    for (int i = 0; i < 8; i ++ ) {
        int a = x + dx[i], b = y + dy[i];
        if (a < 0 || a >= h || b < 0 || b >= w) continue;
        if (vis[a][b]) continue;
        if (g[a][b] == '0') continue;
        sb.append(" ").append(dx[i]).append(dy[i]);
        floodFill(a, b);
    }
}

}

/*
a b c d e f g (7个)
23
15
10001000000000010000000
01111100011111000101101
01000000010001000111111
00000000010101000101111
00000111010001000000000
00001001011111000000000
10000001000000000000000
00101000000111110010000
00001000000100010011111
00000001110101010100010
00000100110100010000000
00010001110111110000000
00100001110000000100000
00001000100001000100101
00000001110001000111000
*/


标签:int,代码,point1,point2,static,sc,new
From: https://www.cnblogs.com/llihaotian666/p/18086679

相关文章

  • 3/20,switch,后面还送了关机代码
    前面讲过if语句,现在加个switchelse与最近的if进行匹配;可以添加{}来改变选择的if可以反着写常量可以放左边判断时:eg:5==num,这样在输入的时候不会和赋值和判断搞偏switch语句:switch(expression){   caseconstant1: //代码块1     break; #includ......
  • 代码随想录第15天|二叉树的层序遍历
    二叉树的层序遍历102.二叉树的层序遍历-力扣(LeetCode)代码随想录(programmercarl.com)讲透二叉树的层序遍历|广度优先搜索|LeetCode:102.二叉树的层序遍历_哔哩哔哩_bilibili给你二叉树的根节点 root ,返回其节点值的 层序遍历 。(即逐层地,从左到右访问所有节点)......
  • 代码随想录第14天|二叉树的递归遍历
    二叉树的理论基础代码随想录(programmercarl.com)关于二叉树,你该了解这些!|二叉树理论基础一网打尽,二叉树的种类、二叉树的存储方式、二叉树节点定义、二叉树的遍历顺序_哔哩哔哩_bilibili二叉搜索树:二叉搜索树是一个有序树。左子树不为空,则左子树上所有节点的值均小于根......
  • 代码学习第24天----回溯算法
    随想录日记part24time:time:time:2024.03.10主......
  • R语言随机波动模型SV:马尔可夫蒙特卡罗法MCMC、正则化广义矩估计和准最大似然估计上证
    全文链接:http://tecdat.cn/?p=31162最近我们被客户要求撰写关于SV模型的研究报告,包括一些图形和统计输出。本文做SV模型,选取马尔可夫蒙特卡罗法(MCMC)、正则化广义矩估计法和准最大似然估计法估计。模拟SV模型的估计方法:  sim<-svsim(1000,mu=-9,phi=0.97,sigma......
  • Copula估计边缘分布模拟收益率计算投资组合风险价值VaR与期望损失ES|附代码数据
    全文链接:http://tecdat.cn/?p=24753最近我们被客户要求撰写关于风险价值的研究报告,包括一些图形和统计输出。在这项工作中,我通过创建一个包含四只基金的模型来探索copula,这些基金跟踪股票、债券、美元和商品的市场指数摘要然后,我使用该模型生成模拟值,并使用实际收益和模拟收......
  • 基于cnn卷积神经网络的yolov8动物姿态估计识别(训练+代码)
    往期热门博客项目回顾:计算机视觉项目大集合改进的yolo目标检测-测距测速路径规划算法图像去雨去雾+目标检测+测距项目交通标志识别项目yolo系列-重磅yolov9界面-最新的yolo姿态识别-3d姿态识别深度学习小白学习路线基于CNN(卷积神经网络)的YOLOv8模型在动物姿态......
  • 操作系统综合题之“用记录型信号量机制的wait和signal操作来解决了由北向南和由南向北
    1.问题:一条哦东西走向河流上,有一根南北走向的独木桥,要想过河只能通过这根独木桥。只要人们朝着相同的方向过独木桥,同一时刻允许有多个人可以通过。如果在相反的方向上同时有两个人过独木桥则会发生死锁。如果一个人想过河,他必须看当前独木桥的通信情况,若当前的通行方向与他的过河......
  • leetcode代码记录(长度最小的子数组
    目录1.题目:2.我的代码:小结:1.题目:给定一个含有n个正整数的数组和一个正整数target。找出该数组中满足其总和大于等于target的长度最小的连续子数组[numsl,numsl+1,…,numsr-1,numsr],并返回其长度。如果不存在符合条件的子数组,返回0。示例1:输......
  • 操作系统综合题之“用记录型信号量机制的wait和signal操作来保证文件的正确打印,并写出
    1.问题:有两个进程pA和pB合作解决文件打印的问题:pA将文件记录从磁盘读入住库存的缓冲区,每次执行一次读一个记录;pB将缓冲区的内容打印出来,每次执行一次打印一个记录。缓冲区的大小等于一个记录大小请用记录型信号量机制的wait(S)和signal(S)操作来保证文件的正确打印,并写出同步代码2.......