LOJ10049_基金012498

LOJ10049_基金012498LOJ10049Trie裸题(虽然我写这SB题写了快一小时)对字符串建树的同时刷答案,有两种情况:经过了一个字符串的词尾(即过了一个标记点)一直在另一个字符串里走(没有让树长出新枝)#include<bits/stdc++.h>#definegt()(p1==p2&&(p2=(p1=buf)+fread(buf,1,1000000,std…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

LOJ10049

Trie裸题(虽然我写这SB题写了快一小时
对字符串建树的同时刷答案,有两种情况:

  • 经过了一个字符串的词尾(即过了一个标记点)

  • 一直在另一个字符串里走(没有让树长出新枝)

#include<bits/stdc++.h>
#define gt() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1000000,stdin),p1==p2)?EOF:*p1++)
#define isnum(ch) (ch>='0'&&ch<='9')
#define __R register
using namespace std;
static char buf[1000000],*p1=buf,*p2=buf;
const char Ans[2][10]={
  
  {
  
  "YES\n"},{
  
  "NO\n"}};
const int maxn=(1e5)+5,maxl=15;
int T,n,tot;int s[maxn][maxl];bool flg,id[maxn];
int read(){
    int ret=0;char ch=gt();
    while(ch<'0'||ch>'9') ch=gt();
    while(ch>='0'&&ch<='9') ret=ret*10+ch-'0',ch=gt();
    return ret;
}
int main(){
    T=read();
    while(T--){
        n=read(),tot=flg=0;__R char ch=gt();
        __R int rot=0,i;__R bool tag,pas;for(id[0]=i=0;i<10;i++) s[rot][i]=0;
        while(n--){
            while(!isnum(ch)) ch=gt();
            rot=tag=pas=0;
            while(isnum(ch)){
                if(!flg) if(s[rot][ch-'0']) pas=(id[rot=s[rot][ch-'0']]?1:0);else for(id[rot=s[rot][ch-'0']=++tot]=0,tag=1,i=0;i<10;i++) s[rot][i]=0;
                ch=gt();if(!isnum(ch)) id[rot]=1;
            }
            if(!tag||pas) flg=1;
        }
        fwrite(Ans[flg],1,4-flg,stdout);
    }
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186955.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月1日 下午10:16
下一篇 2022年10月1日 下午10:16


相关推荐

  • Mac上Pycharm中安装anaconda的pandas和numpy的方法

    Mac上Pycharm中安装anaconda的pandas和numpy的方法1 点击 PyCharm 菜单栏下的 Preferences2

    2026年3月27日
    2
  • 使用Sigar包获取操作系统信息[通俗易懂]

    使用Sigar包获取操作系统信息[通俗易懂]项目中的一个需求是获取操作系统的相关信息,可以收集的信息包括:1,CPU信息,包括基本信息(vendor、model、mhz、cacheSize)和统计信息(user、sys、idle、nice、wait)2,文件系统信息,包括Filesystem、Size、Used、Avail、Use%、Type3,事件信息,类似ServiceControlManager4,内存信息

    2025年7月6日
    6
  • Linux虚拟机重启_linux虚拟机怎么关机

    Linux虚拟机重启_linux虚拟机怎么关机一、Linux的五个重启命令1、shutdown2、poweroff3、init4、reboot5、halt二、五个重启命令的具体说明shutdownreboot在linux下一些常用的关机/重启命令有shutdown、halt、reboot、及init,它们都可以达到重启系统的目的,但每个命令的内部工作过程是不同的,通过本文的介绍,希望你可以更加灵活的运用各种关机命令。1.shutdownsh…

    2022年10月10日
    5
  • pycharm不会自动补全括号_python代码补全插件

    pycharm不会自动补全括号_python代码补全插件有时候不小心瞎探索pycharm的时候把代码提示给关了怎么办解决方法:点击左上角file,找到powersavemode,把这个前面的√号去掉就能正常显示啦。

    2022年8月25日
    11
  • Ubuntu修改屏幕分辨率_ubuntu调分辨率

    Ubuntu修改屏幕分辨率_ubuntu调分辨率Ubuntu——虚拟显示器的配置、卸载、修改分辨率

    2022年8月21日
    9
  • vite 基础配置

    vite 基础配置兼容老浏览器 默认情况下 Vite 只处理语法转译 且默认不包含任何 polyfill 通过引入 polyfill 可以前往 Polyfill io 查看 这是一个基于用户浏览器 User Agent 字符串自动生成 polyfill 包的服务 通过插件支持 通过插件 vitejs plugin legacy 来支持 它将自动生成传统版本的 chunk 及与其相对应 ES 语言特性方面的 polyfill 兼容版的 chunk 只会在不支持原生 ESM 的浏览器中进行按需加载公共基础路径

    2025年10月27日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号