三级选手求助

B3843 [GESP202306 三级] 密码合规

Boing777_300er @ 2024-06-27 18:31:50

到底怎么写呢?对于一个二级 82 分的三年级学生,给个三级的做法不过分吧.(后天就要考gesp三级C++)


by ZMQ_Ink6556 @ 2024-06-27 19:23:20

@Boing777_300er 自己找:here。虽然我 6 年级才开始学,但是还要祝你能坚持把 OI 学好。


by ZMQ_Ink6556 @ 2024-06-27 19:25:51

Sorry,看错题了。

这道题你可以尝试分几步做。


by Tomorrow_YYX @ 2024-06-27 20:17:30

@Boing777_300er 一种三级内的做法,希望对你有帮助。不懂就问哈。

PS:我有一位故人现在上初一,学OI不到两年。他叫OldDriverTree

#include<bits/stdc++.h>
using namespace std;
int n,cnt,ans;
char duru[105];
char jiance[70];
char zhengque[10][15];
bool f;
int zhonglei[5],ceshi1,ceshi2;
int main()
{
    cin>>duru;
    n=strlen(duru);
    for(int i=1;i<=26;++i)jiance[i]='a'-1+i;
    for(int i=27;i<=52;++i)jiance[i]='A'-1+i-26;
    for(int i=53;i<=62;++i)jiance[i]='0'-1+i-52;
    jiance[63]='!';jiance[64]='@';jiance[65]='#';jiance[66]='$';
    for(int i=0;i<n;++i)
    {
        if(duru[i]==',')
        {
            if(cnt>=6&&cnt<=12)
            {
                ceshi1=zhonglei[1]+zhonglei[2]+zhonglei[3];
                ceshi2=zhonglei[4];
                if(ceshi1>=2&&ceshi2>=1)
                {
                    ++ans;
                    int changdu=0;
                    for(int j=i-cnt;j<i;++j)zhengque[ans][++changdu]=duru[j];
                    zhengque[ans][0]=changdu;
                }
            }
            cnt=0;
            zhonglei[1]=zhonglei[2]=zhonglei[3]=zhonglei[4]=0;
        }
        else 
            if(cnt==-1)continue;
            else
            {
                f=0;
                for(int j=1;j<=66;++j)
                    if(duru[i]==jiance[j])
                    {
                        f=1;
                        if(j<=26)zhonglei[1]=1;
                        else if(j<=52)zhonglei[2]=1;
                        else if(j<=62)zhonglei[3]=1;
                        else zhonglei[4]=1;
                        break;
                    }
                if(f)++cnt; else cnt=-1;
            }
    }
    for(int i=1;i<=ans;++i)
    {
        for(int j=1;j<=zhengque[i][0];++j)cout<<zhengque[i][j];
        cout<<"\n";
    }
    return 0;
}

by OldDriverTree @ 2024-06-27 20:24:49

@yuyongxin 不是,我开学才初一啊


by Boing777_300er @ 2024-06-28 08:57:51

@yuyongxin 我才三年级,看不懂(二级考了两次,第一次 52 分)


by Tomorrow_YYX @ 2024-06-28 09:01:32

@Boing777_300er 你总不能数组都不懂吧nt


by Boing777_300er @ 2024-06-28 09:12:47

@yuyongxin 我懂,但不全懂


by Tomorrow_YYX @ 2024-06-28 09:44:03

@Boing777_300er 这边建议你先把基础学懂再去考


by Boing777_300er @ 2024-06-28 10:30:13

@yuyongxin 已经报名了,明天就考.大佬,带我复习一下吧!


by Boing777_300er @ 2024-06-28 10:34:04

@zhangmoqing 3Q


| 下一页