首页 > 其他分享 >HJ19 简单错误记录 || 字符串模拟

HJ19 简单错误记录 || 字符串模拟

时间:2024-08-31 16:38:42浏览次数:14  
标签:HJ19 char int num maxn ans 字符串 模拟

就是字符串模拟和处理。最大的问题就是题面题意写得真的挺模糊的,好多地方有点表意不明。。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int maxn=110;
 4 char a[maxn][maxn];
 5 int b[maxn],num_qc=0,cnt[maxn],ans[maxn],num_ans=0;
 6 bool fg[maxn],f[maxn];
 7 struct JL{
 8     char s[maxn],zm[maxn];
 9     int num,cnt;
10 }jl[maxn],qc[maxn];
11 void wk(char ans[],char zm[],char a[]){
12     int la=strlen(a);
13     int lst=0;
14     for(int i=0;i<la;i++){
15         if(a[i]=='\\')lst=i;
16     }
17     if(lst) lst++;
18     char c[maxn]={};
19     int lc=0;
20     for(int i=lst;i<la;i++) c[lc++]=a[i];
21 //    printf("C: %s %d\n",c,lc);
22     if(lc<=16) {
23         strcpy(ans,c);
24         strcpy(zm,c);
25         return;
26     }
27     lc=strlen(c);
28 //    1234
29 //    2wei
30     // 34
31     for(int i=0;i<16;i++)
32         ans[i]=c[lc-16+i];
33 //    printf("NOW:%s %s\n",c,ans);
34     strcpy(zm,c);
35     return;
36 }
37 int main(){
38     int n=0;
39     while(~scanf("%s",a[n])){
40         scanf("%d",&b[n]);
41         n++;
42 //        if(n==11)break;///////
43     }
44     for(int i=0;i<n;i++)fg[i]=1;
45     for(int i=0;i<n;i++){
46         if(fg[i]==0)continue;
47         for(int j=i+1;j<n;j++){
48             if(fg[j]==0)continue;
49             if(b[i]!=b[j])continue;
50             if(strcmp(a[i],a[j])==0)fg[j]=0;
51         }
52     }//quchong
53     num_qc=0;
54     for(int i=0;i<n;i++){
55         if(fg[i]==0)continue;
56         num_qc++;
57         qc[num_qc].num=b[i];
58         wk(qc[num_qc].s,qc[num_qc].zm,a[i]);
59 //        printf("TEST: %s %d %s\n",qc[num_qc].s,qc[num_qc].num,qc[num_qc].zm);
60     }
61 //    for(int i=1;i<=num_qc;i++)
62 //        printf("%s %d %s\n",qc[i].s,qc[i].num,qc[i].zm);
63     for(int i=1;i<=num_qc;i++)f[i]=1;
64     for(int i=1;i<=num_qc;i++){
65         if(f[i]==0) continue;
66         for(int j=i+1;j<=num_qc;j++){
67             if(f[j]==0)continue;
68             if(strcmp(qc[i].s,qc[j].s)==0&&qc[i].num==qc[j].num){
69                 qc[i].cnt++;
70                 f[j]=0;
71             }
72         }
73         qc[i].cnt++;
74         ans[++num_ans]=i;
75     }
76     if(num_ans>8){
77         for(int i=num_ans-8+1;i<=num_ans;i++){
78             printf("%s %d %d\n",qc[ans[i]].s,qc[ans[i]].num,qc[ans[i]].cnt);
79         }
80     }
81     else {
82         for(int i=1;i<=num_ans;i++)
83             printf("%s %d %d\n",qc[ans[i]].s,qc[ans[i]].num,qc[ans[i]].cnt);
84     }
85     return 0;
86 }

 

标签:HJ19,char,int,num,maxn,ans,字符串,模拟
From: https://www.cnblogs.com/AlenaNuna/p/18390444

相关文章

  • 字符串的处理
    消除换行符if(str[i]=='\n')str[i]='\0';scanf和cin会读取空格,而fgets不会gets_s许多编译器不支持,不建议用charstr[N]; if(fgets(str,sizeof(str),stdin)==NULL) { return1; }格式化输入输出sprintf:功能:sprintf用于将格式化的数据输出到一个字符串......
  • sipp模拟uas发送update
     概述freeswitch是一款简单好用的VOIP开源软交换平台。但是fs在处理update消息时候有BUG,为了复现问题,使用sipp模拟uas,发送update并发送DTMF码。本文档记录sipp的配置方案。环境CentOS7.9freeswitch1.10.7sipp.3.6.2问题描述在与运营商对接的过程中,运营商内部会先返......
  • BlueStacks蓝叠模拟器安装Magisk教程
    作为适配Hyper-V的安卓模拟器,蓝叠模拟器一直是我认为最好用的模拟器,但是今天为了给模拟器安装magisk,我先后下载了逍遥模拟器,雷电模拟器。逍遥模拟器虽然支持Hyper-V但是安装不上Magisk,因为网上找到的读写/system的方法基本上都用不了。雷电就更离谱了,说“兼容”Hyper-V,没想......
  • sha-256算法,生成固定长度的字符串
    SHA-256(安全哈希算法256位)是一种广泛使用的加密哈希函数,它会将输入的任意大小的数据转换为固定长度的256位(32字节)哈希值。SHA-256是SHA-2系列算法的一部分,由美国国家安全局(NSA)设计,并由美国国家标准与技术研究院(NIST)发布。SHA-256的主要特点包括:固定长度输出:无论输入数据的......
  • JavaScript 的模板字符串
    字符串插值JavaScript中使用反引号`包裹的字符串叫模板字符串(templateliterals)。人们常用它拼接变量和字符串,即所谓的字符串插值(stringinterpolation)。在使用字符串插值时,使用${}包裹变量或表达式,它是变量的占位符。多行文本模板字符串支持多行文本(multi-linestr......
  • 关于java输入字符串的一些问题
    最近自学java,学到了Scanner类这块,我想着测试一下输入,遇到了个问题,我想要输入两个字符串,但是我输入一个字符串后程序就停止运行了,有点疑惑,我的代码如下s1=scan.next();System.out.print(s1);s2=scan.nextLine();System.out.print(s2);结果就是只能输出s1,然后我就想起来这......
  • 【Unity踩坑记录】使用Rigidbody模拟跳跃时,刚体会突然上升
    最初的写法privatevoidFixedUpdate(){if(!isGrounded){return;}floatrawHorizontal=Input.GetAxis("Horizontal");floatrawVertical=Input.GetAxis("Vertical");Vector3localDirection=new(rawHorizon......
  • PowerShell Select-String:在字符串和文件中查找文本
    语法Select-String[-Culture<String>][-Pattern]<String[]>[-Path]<String[]>[-SimpleMatch][-CaseSensitive][-Quiet][-List][-NoEmphasis][-Include<String[]>][-Exclu......
  • Encoding.Default.GetByteCount(),C# 获取字符串字节长度
    原文链接:https://blog.csdn.net/lidin888/article/details/127674079一、C#获取字符串字节长度1.在C#语言中使用string字符串Unicode编码2.在C#语言中常用汉字占3个字节方式1:使用默认编码类获取字节长度Console.WriteLine(Encoding.Default.GetByteCount("张三"));//输......
  • 代码随想录day45 || 115 不同子序列, 583 两个字符串删除操作, 72 编辑距离
    115不同子序列funcnumDistinct(sstring,tstring)int{ //动态规划,思考一下判断连续和不连续的区别,如果相等都是左上角+1,如果不等,连续情况就是直接等于左上角,不连续情况直接归零 //dp[i][j]表示s[i]中存在t[j]结尾的的个数 //递推公式,不要求连续字串,所以,如果s[i......