• 校内测试-密码破解


    题目:

    主要算法 :  字符串(模式匹配)

    题干:

        文章翻译

    应试策略:  

    1.   刚开始认为规则是样例。结果发现样例是错误的,有‘y’没有按照规则修改
    2.   最后问了格式,对于一篇文章如果有一个长度为1的单词,那么就只有‘I’与‘a’这两种情况,因为a比较容易判断,只需要前面和后面是空格就行,这样贪心得了100分,其它打正解的还没有我跑得快,但是如果不存在冠词a的情况,就WA了

    代码

    #include<stdio.h>
    #include<stdlib.h>
    #include<iostream>
    #define FORa(i,s,e) for(int i=s;i<=e;i++)
    #define FORs(i,s,e) for(int i=s;i>=e;i--)
    #define File(name) freopen(name".in","r",stdin);freopen(name".out","w",stdout);
    #define gc pa==pb&&(pb=(pa=buf)+fread(buf,1,100000,stdin),stdin)?EOF:*pa++
    
    using namespace std;
    inline int read();
    char buf[100000],*pa,*pb;
    string s;
    int cnt=1;
    int len;
    
    int main()
    {
        File("whos");
        getline(cin,s),len=s.size();
        string fs=" ";
        int sp=s.find(fs,0);
        while(sp!=-1)
        {
            if(s[sp+1]>='a'&&s[sp+1]<='z'&&s[sp+2]==' ')
            {
                cnt=s[sp+1]-'a';
                break;
            }
            sp++;
            sp=s.find(fs,sp);
        }
        for(int i=0;i<len;i++)
        {
            if(s[i]>='a'&&s[i]<='z')
            {
                 if(s[i]-cnt<'a') s[i]+=26;
                printf("%c",s[i]-cnt);
            }
            else if(s[i]>='A'&&s[i]<='Z')
            {
                if(s[i]-cnt<'A') s[i]+=26;
                printf("%c",s[i]-cnt);
            }
            else printf("%c",s[i]);
        }    
        return 0;
    }
    inline int read()
    {
        register int x(0),f(1);register char c(gc);
        while(c<'0'||c>'9') f=c=='-'?-1:1,c=gc;
        while(c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=gc;
        return x*f;
    }

    非完美算法:  

        模拟

     正解:

    1.   先看题哈
    2.   找出出现频率最大的字母,然后与E之间制定规则,将所有字母按照规则输出

    总结:

    1.   能不能先看题

  • 相关阅读:
    竞赛中遇到的英文单词集锦
    #复习 搜索与图论:排列数字、走迷宫~ 20.8.20起
    #容斥原理 20.9.10
    #sort :快速排序、第k个数 20.09.12
    #STL #unordered_map : C++11 unordered_map详细介绍
    Java 面试必备(字符串专题)
    JAVA面试必备题(垃圾回收专题)
    Collection框架的结构(面试重点)
    CSS 层级样式表
    window搭建mongodb副本集
  • 原文地址:https://www.cnblogs.com/SeanOcean/p/11309899.html
Copyright © 2020-2023  润新知