首页 > 编程语言 >【atcoder begin 302】【e题 Isolation 】JAVA的快速输入输出

【atcoder begin 302】【e题 Isolation 】JAVA的快速输入输出

时间:2023-05-26 14:57:01浏览次数:31  
标签:atcoder begin JAVA java int System words import new

import java.io.*;
import java.util.HashSet;
import java.util.Set;

/**
 * @author fishcanfly
 */

public class Main {


    public static void main(String[] args) throws IOException {
//        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//        String[] words = br.readLine().split("\\s");
//        Scanner scanner = new Scanner(System.in);
//        int n = Integer.valueOf(words[0]);
//        int q = Integer.valueOf(words[1]);

//快速输入输出采用以下的方式
StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); PrintWriter out = new PrintWriter(new BufferedOutputStream(System.out)); in.nextToken(); int n = (int)in.nval; in.nextToken(); int q = (int)in.nval; int res = 0; Set<Integer>[] map = new HashSet[n+1]; for (int i = 1; i <= n; i++) { map[i] = new HashSet(); } for (int i = 1; i <= q; i++) { // words = br.readLine().split("\\s"); // int cas = Integer.valueOf(words[0]); in.nextToken(); int cas = (int)in.nval; switch (cas){ case 1: // int u = Integer.valueOf(words[1]); // int v = Integer.valueOf(words[2]); in.nextToken(); int u = (int)in.nval; in.nextToken(); int v = (int)in.nval; if( map[u].size() == 0){ res++; } if( map[v].size() == 0){ res++; } map[v].add(u); map[u].add(v); out.println(n-res); break; case 2: // v = Integer.valueOf(words[1]); in.nextToken(); v = (int)in.nval; for(Integer adj:map[v]){ if( map[adj].size() == 1){ res--; } map[adj].remove(v); } if(map[v].size() != 0){ res--; } map[v].clear(); out.println(n-res); break; default: break; } } out.flush(); // br.close(); } }

 

标签:atcoder,begin,JAVA,java,int,System,words,import,new
From: https://www.cnblogs.com/fishcanfly/p/17434730.html

相关文章

  • Javascript 指南:条件语句
    if/elseif/else语句是程序如何以编程方式处理是/否问题。如果第一个条件的计算结果为true,则程序将运行第一个代码块。否则,它将运行else块。让天气=“下雨”;如果(天气===“下雨”){控制台。log("今天别忘了带伞!");}否则{控制台。日志(“今天可能会很好”!);}输出:Don......
  • Javascript 指南:数组
    数组数组是JavaScript的有序列表,可以存储任何数据类型,包括字符串、数字和布尔值。数组中的每个项目都位于一个编号位置。句法数组由方括号和里面的内容表示。数组中的元素应该用逗号分隔。让colors=["red","blue","green","yellow"];访问和更新元素要访问或更改数组中......
  • java连接TD数据库获取数据
    1.目录结构2.创建springboot的项目,添加pom依赖3.配置数据库连接池4.配置数据库映射实体5.配置dao层6.书写对应的xml格式的对应这里举例一个查询最新的一个数据7.Service层8.Controller层通过接口返回给前端9.初始化数据库10.通过接口获取lastone可以......
  • 视频直播源码,JavaScript 下载文件、图片
    视频直播源码,JavaScript下载文件、图片一、下载文件 letdownLoadFile=(obj,name,suffix)=>{   consturl=window.URL.createObjectURL(newBlob([obj]));   constlink=document.createElement('a');   link.style.display='none';   l......
  • Java大文件分片上传/多线程上传源码
    ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。这次项目的需求:支持大文件的上传和续传,要求续传支持所有浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox,360安全浏览器,并且刷新浏览器后仍然能够续传,重启浏览器(关闭......
  • windows环境下 java 使用sqlite-jdbc 加载mod_spatialite用于地理空间处理
    由于项目需要,将sqlite中的数据使用空间函数(st_astext(),st_geomfromtext()等)处理空间坐标数据,这就需要加载mod_spatialite组件,从网上找了很多方法,也问了gpt,也从官网上(http://www.gaia-gis.it/gaia-sins/spatialite-cookbook/html/java.html)找到了加载mod_spatialite组件的示......
  • Java大文件分片上传/多线程上传代码
    ​ 我们平时经常做的是上传文件,上传文件夹与上传文件类似,但也有一些不同之处,这次做了上传文件夹就记录下以备后用。首先我们需要了解的是上传文件三要素:1.表单提交方式:post(get方式提交有大小限制,post没有)2.表单的enctype属性:必须设置为multipart/form-data.3.表单必须......
  • 【MCA】Java互联网高级架构师马SB
    【MCA】Java互联网高级架构师马SBdownload:3w51xuebccomgRPC云原生微服务开发随着企业信息化建设的不断深入,以及互联网技术的快速发展,微服务架构已经成为当前比较热门的一种架构风格。而gRPC则是一种基于HTTP/2协议的高性能、低延迟的RPC框架,非常适合用于构建微服务。什么是gRPC?gR......
  • Java 实践(Netbeans开发)——StringTokenizer实现数组分割
     引:StringTokenizer存在于java.util. StringTokenizer包中,是一个用来分隔String的应用类,相当于VB的split函数。1.构造函数publicStringTokenizer(Stringstr)publicStringTokenizer(Stringstr,Stringdelim)publicStringTokenizer(Stringstr,Stringdelim,boolean......
  • 微软Playwright开源自动化框架初探-安装和调试(java版)
    最近在研究部门的UI自动化框架(java+selenium+testNG+openCV等),发现在调试脚本时,需要先下载谷歌浏览器。无头/有头模式还需要代码区分。还有一个体验问题,程序启动太慢,从运行到浏览器启动,差不多需要30s左右,等得有点着急。  在知乎/CSDN中找到多篇文章推荐自动化测试利器-Playwrigh......