异或树【C语言】

解题思路

复制代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_N 100005
#define MAX_M 1001
#define INF 0x3f3f3f3f
int a[MAX_M][5];
char s[MAX_N][10];
int main(){
    int n,m;
    scanf("%d %d",&n,&m);
    for(int i=1;i<=n;i++){
        scanf("%s",s[i]);
    }
    for(int i=1;i<=m;i++){
        for(int j=0;j<5;j++){
            a[i][j]=-1;
        }
    }
    int min_len=INF;
    int L=0,R=0;
    for(int r=1;r<=n;r++){
        char* str=s[r];
        int j=str[0]-'A';
        int i=atoi(&str[1]);
        a[i][j]=r;
        int flag=1;
        int min_pos=INF;
        for(int k=0;k<5;k++){
            if(a[i][k]==-1){
                flag=0;
                break;
            }
            if(a[i][k]<min_pos){
                min_pos=a[i][k];
            }
        }
        if(flag){
            int len=r-min_pos+1;
            if(len<min_len||(len==min_len&&min_pos<L)){
                min_len=len;
                L=min_pos;
                R=r;
            }
        }
    }
    printf("%d %d\n",L,R);
    return 0;
}
相关推荐
AI科技星1 小时前
数术工坊第八卷:算力革命
c语言·开发语言·网络·量子计算·agi
.道阻且长.3 小时前
C++ string 操作指南:接口解析
java·c语言·开发语言·c++
2601_951645783 小时前
如何优雅地使用c语言编写爬虫
c语言·爬虫·网络请求·字符串处理·cspider
6v6-博客4 小时前
C语言字符串中空格的表示方法
c语言·开发语言
SHARK_pssm4 小时前
【数据结构——树与堆】
c语言·数据结构·经验分享·笔记
郝学胜-神的一滴5 小时前
CMake 017:彩色日志输出实战
linux·c语言·开发语言·c++·软件工程·软件构建·cmake
Navigator_Z5 小时前
LeetCode //C - 1096. Brace Expansion II
c语言·算法·leetcode
luj_17685 小时前
FreeDOS vs MS-DOS PC-DOS 对比解析
服务器·c语言·开发语言·经验分享·算法
坚果派·白晓明6 小时前
鸿蒙 PC应用集成 hwloc:3 大 NAPI & 编译坑详解
c语言·华为·ai编程·harmonyos·atomcode
人邮异步社区7 小时前
C语言进阶的书籍推荐
c语言·开发语言