题解 | #数据分类处理#

数据分类处理

https://www.nowcoder.com/practice/9a763ed59c7243bd8ab706b2da52b7fd

#include <stdio.h>
#include <string.h>

int main() {
//  输入
    int In,Rn,i,j,k,l,t;
    scanf("%d",&In);    char I[In][100];
    for(i=0;i<In;i++)   scanf("%s",I[i]);
    scanf("%d",&Rn);    int R1[Rn];
    for(i=0;i<Rn;i++)   scanf("%d",&R1[i]);
//  R1排序并去重复
    for(i=0;i<Rn-1;i++)
    for(j=0;j<Rn-i-1;j++)
    if(R1[j]>R1[j+1]){
        t=R1[j];
        R1[j]=R1[j+1];
        R1[j+1]=t;
    }
    for(i=0;i<Rn-1;i++)
    if(R1[i]==R1[i+1]){
        for(j=i;j<Rn;j++)
        R1[j]=R1[j+1];
        Rn--;i--;
    }
//  把R1变成字符数组R,方便后续比较
    char R[Rn][4];      memset(R,0,sizeof(R));
    for(i=0;i<Rn;i++)
    sprintf(R[i],"%d",R1[i]);
//  开始匹配,求出一个最大的匹配数,及各自的匹配数,及位置;
    int view[Rn][In+1],count;       memset(view,0,sizeof(view));
    for(i=0;i<Rn;i++){//R从第一个数开始匹配
        count=0;
        for(j=0;j<In;j++){//I从第一个数开始匹配
            for(k=0;k<strlen(I[j]);k++){//I的每个数的第一个字符开始检索
                t=-1;//状态数字,表示未匹配上
                if(I[j][k]==R[i][0]){//当存在第一个字符相同的时候,开始检验整个字符段是否完全相同
                    t=0;//表示开始匹配了
                    for(l=1;l<strlen(R[i]);l++)
                        if(I[j][k+l]!=R[i][l]||k+l==strlen(I[j])){
                        t=1;break;} //表示如果有不同或者有一个到了头,数不够,就未匹配上,改变状态数字
                    if(t==0) {count++;view[i][j]=1;break;}//如果状态数字没变代表匹配上了,匹配到的数组信息储存在哈希数组的j里,跳出
                }
            }
        }
        view[i][In]=count;//用这个表示每个r匹配到的数的数量
    }
    //下面就是求总的并输出了
    int all=0;
    for(i=0;i<Rn;i++)
    if(view[i][In]!=0) all+=view[i][In]*2+2;
    printf("%d ",all);
    for(i=0;i<Rn;i++)
    if(view[i][In]!=0){
        printf("%s %d ",R[i],view[i][In]);
        for(j=0;j<In;j++)
        if(view[i][j]!=0)
        printf("%d %s ",j,I[j]);
    }



    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
菜菜咪:1. 可以使用简历网站的模版,美观度会更好一点 2. 邮箱可以重新申请一个,或者用qq邮箱的别名,部分hr可能会不喜欢数字邮箱 3. 项目经历最好分点描述,类似的项目很多,可以参考一下别人怎么写的 4. 自我评价可加可不加,技术岗更看重技术。最后,加油,优秀士兵
点赞 评论 收藏
分享
贺兰星辰:不要漏个人信息,除了简历模板不太好以外你这个个人简介是不是太夸大了...
点赞 评论 收藏
分享
头像 会员标识
昨天 17:08
已编辑
牛客_产品运营部_私域运营
腾讯 普通offer 24k~26k * 15,年包在36w~39w左右。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务