1.30

news/2025/1/30 18:52:16/文章来源:https://www.cnblogs.com/Mikkeykarl/p/18695284

1.30

Maze - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

  • 从一个空格走cnt - k个点并标记,然后将没有标记的点设为A即可
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.*;public class Main implements Runnable {static Scanner cin = new Scanner(System.in);static PrintWriter cout = new PrintWriter(new OutputStreamWriter(System.out));static int n, m, k, t;static final int N = (int) (5e2 + 10);static int[][] g = new int[N][N];static boolean[][] str = new boolean[N][N];static int[] dx = {1, 0, -1, 0}; static int[] dy = {0, 1, 0, -1};public static void main(String[] args) {new Thread(null, new Main(), "", 1 << 29).start();}public static void dfs(int x, int y) {if(k == 0) return;for(int i = 0; i < 4; i++) {int nowx = x + dx[i];int nowy = y + dy[i];if(nowx < 1 || nowx > n || nowy < 1 || nowy > m) continue;if(str[nowx][nowy] || g[nowx][nowy] == 1 || k == 0) continue;str[nowx][nowy] = true; k--;dfs(nowx, nowy);}}@Overridepublic void run() {n = cin.nextInt();m = cin.nextInt();k = cin.nextInt();int cnt = 0;for (int i = 1; i <= n; i++) {String s = cin.next();for (int j = 1; j <= m; j++) {if (s.charAt(j - 1) == '#') {g[i][j] = 1;} else {cnt++;g[i][j] = 0;}}}k = cnt - k;for (int i = 1; i <= n; i++) {for (int j = 1; j <= m; j++) {if (!str[i][j] && g[i][j] == 0 && k != 0) {k--;str[i][j] = true;dfs(i, j);}}}for (int i = 1; i <= n; i++) {for (int j = 1; j <= m; j++) {if (!str[i][j] && g[i][j] == 0) {cout.print('X');continue;}if (g[i][j] == 0) cout.print('.');else cout.print('#');}cout.println();}cout.flush();}
}

New Reform - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

  • 本题可以用并查集来做,但是因为是练习搜索,姑且还是先用搜索来做
  • 1 考虑图为一个连通块,图的形式其实就只有三种形态,可以看到分别是不是环,一个环,多个环。可以看到,只有不是环的时候,才会出现一个入度为0的点,也就是根节点。

  • 2 考虑图为多个连通块,那么会发现答案为2,就是无环的两个根节点

  • 那么ok,答案已经出来了,就是遍历所有结点,对没有被标记过的结点进行递归,寻找这个连通块是否有环即可,注意是单向联通
package shuati;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.*;public class Main implements Runnable {static StreamTokenizer cin = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));static PrintWriter cout = new PrintWriter(new OutputStreamWriter(System.out));static int n, m;static final int N = (int) (1e5 + 10);static Vector<Integer>[] city = new Vector[N];static boolean[] str = new boolean[N];static boolean isCircle;public static void main(String[] args) {new Thread(null, new Main(), "", 1 << 29).start();}public static int nextInt() throws IOException {cin.nextToken();return (int) cin.nval;}public static void dfs(int son, int parent) {for (Integer now : city[son]) {if (now == parent) continue;if (str[now]) {isCircle = true;continue;}str[now] = true;dfs(now, son);}}@Overridepublic void run() {try {for(int i = 0; i < N; i++) {city[i] = new Vector<>();}n = nextInt();m = nextInt();for(int i = 1; i <= m; i++) {int x = nextInt();int y = nextInt();city[x].add(y);city[y].add(x);}int ans = 0;for(int i = 1; i <= n; i++) {if(!str[i]) {str[i] = true;isCircle = false;dfs(i, -1);if(!isCircle) ans++;}}cout.println(ans);cout.flush();} catch (IOException e) {throw new RuntimeException(e);}}
}

Ecological Bin Packing - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

  • 数据比较简单,大模拟即可
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.*;public class Main implements Runnable {static Scanner scanner = new Scanner(System.in);static PrintWriter cout = new PrintWriter(new OutputStreamWriter(System.out));static int[][] g = new int[3][3];static String[] s = {"BCG", "BGC", "CBG", "CGB", "GBC", "GCB"};static int[] ans = new int[6];public static void main(String[] args) {new Thread(null, new Main(), "", 1 << 29).start();}@Overridepublic void run() {while (scanner.hasNext()) {g[0][0] = scanner.nextInt();g[0][1] = scanner.nextInt();g[0][2] = scanner.nextInt();//bgcg[1][0] = scanner.nextInt();g[1][1] = scanner.nextInt();g[1][2] = scanner.nextInt();g[2][0] = scanner.nextInt();g[2][1] = scanner.nextInt();g[2][2] = scanner.nextInt();ans[0] = g[1][0] + g[2][0] + g[0][2] + g[2][2] + g[0][1] + g[1][1];//bcgans[1] = g[1][0] + g[2][0] + g[0][1] + g[2][1] + g[0][2] + g[1][2];//bgcans[2] = g[1][2] + g[2][2] + g[0][0] + g[2][0] + g[0][1] + g[1][1];//cbgans[3] = g[1][2] + g[2][2] + g[0][1] + g[2][1] + g[0][0] + g[1][0];//cgbans[4] = g[1][1] + g[2][1] + g[0][0] + g[2][0] + g[0][2] + g[1][2];//gbcans[5] = g[1][1] + g[2][1] + g[0][2] + g[2][2] + g[0][0] + g[1][0];//gcbint k = ans[0];int t = 0;for(int i = 1; i <= 5; i++) {if(k > ans[i]) {k = ans[i];t = i;}}cout.println(s[t] + " " + k);cout.flush();}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/877125.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中jdk的下载地址

java中jdk的下载地址 https://www.oracle.com/java/technologies/downloads/#java17-windows作者:流年少年 出处:https://www.cnblogs.com/ishoulgodo/ 想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!如果觉得这篇文章…

对国外某网站的SQL注入实战

对国外某网站的SQL注入实战 记录一次某功能点遇到SQL注入漏洞尝试丢到SQLMAP运行虽然成功,但是有些SQL注入类型存在但SQLMAP未识别出来,随后便使用手工注入的方式获得数据库相关数据的随笔 功能点某网站存在URL如下的GET形公告展示点: /xxx/index.php?mod=detail&_id=23…

@所有Mac用户 刺客信条系列登陆Mac平台!

🌟【历史性的跨越】🌟 在无数Mac游戏爱好者的热切期盼中,终于将风靡全球的3A级巨作——刺客信条🌟【历史性的跨越】🌟 在无数Mac游戏爱好者的热切期盼中,终于将风靡全球的3A级巨作——刺客信条系列,成功移植至MacOS系统!这意味着,无论是穿梭于中世纪欧洲的隐秘巷弄…

五、USB PD协议层之控制消息

当Message Header中的Number of Data Objects字段设置为0,控制消息仅由一个Message Header和一个CRC组成。协议层发起控制消息(如,Accept Message, Reject Message 等)。 控制消息类型在消息头的Message Type字段(位4…0)中指定,并汇总在下表中。1、GoodCRC Message Good…

htb support walkthrough window 域渗透

nmap udp端口 nmap -sU 10.10.11.174 Starting Nmap 7.95 ( https://nmap.org ) at 2025-01-30 01:17 UTC Nmap scan report for 10.10.11.174 Host is up (0.092s latency). Not shown: 996 open|filtered udp ports (no-response) PORT STATE SERVICE 53/udp open domai…

01 设计测试用例

设计测试用例的万能思路 针对某个物品/功能进行测试。 万能思路:功能测设 + 界面测试 + 性能测试 + 兼容性测试 + 易用性测试 + 安全测试。总结: 功能测试: 水杯:装水、喝水... 注册场景:注册 + 登录 ​ 想象日常使用中的注册场景有哪些功能。 界面测试: 非软件:颜色…

C++ 实现一个vector

C++如何写一个带有allocator的vector 在STL中,容器一般都有一个allocator模板参数。 allocator用于获取/释放内存及构造/析构内存中元素的分配器。类型必须满足分配器 (Allocator) 。如果 Allocator::value_type 与 T 不同,那么行为未定义(C++20 前)程序非良构(C++20 起)。 模…

使用xtrabackup对MySQL8.0.34进行备份和恢复

Percona XtraBackup 是一款开源的、用于 MySQL 和 MariaDB 的热备份工具,它可以在不停止数据库服务的情况下进行全量或增量备份,并且能够快速恢复数据。以下从特点、安装、备份与恢复操作、注意事项等方面进行详细介绍。 特点热备份:可以在数据库正常运行时进行备份,不影响…

【THM】Search Skills(搜索技巧)-学习

学习有效地搜索互联网并使用专门的搜索引擎和技术文档。本文相关的TryHackMe实验房间链接:https://tryhackme.com/r/room/searchskills 本文相关内容:学习有效地搜索互联网并使用专门的搜索引擎和技术文档。介绍 在 Google 上快速搜索“学习网络安全-learn cyber security”返…

使用ailabel对图片进行标注,vue3/js+ailabel.js

​ 一、实现效果 对方案可以添加多张图片,并在图片上进行标注。并且可以通过下方的缩略图切换方案图片 (demo) 二、效果图三、页面元素 <div class="w-full overflow-auto p-2" style="height: calc(100% - 7rem)"><div class="btns mb-2…

【模拟电子技术】17-基本放大电路的派生电路与场效应管放大电路的分析原则

【模拟电子技术】17-基本放大电路的派生电路与场效应管放大电路的分析原则 现在提出要求,要用NPN,PNP三极管各一个来构造放大电路,要求在大功率的时候,从输出端看都是PNP型,复合管就可以做到这一点可以看出第一个管子的功率肯定没第二个大,但是第一级管子决定了复合管的类…

Java Collection集合

目录集合概述集合框架Collection 常用功能 集合概述集合:集合是java中提供的一种容器,可以用来存储多个数据。 集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的。集合的长度是可变的。 数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对…