文章

39

粉丝

74

获赞

1

访问

18.2k

头像
玛雅人的密码 题解:求大佬解惑
P1162 清华大学上机题
发布于2024年3月12日 15:26
阅读数 399

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int isrelate(char b[],int n)
{
    if(n<=3)return 0;
    char c[4];
    int count=0;
    for(int i=0; i<=n-4; i++)
    {
        c[0]=b[i];
        c[1]=b[i+1];
        c[2]=b[i+2];
        c[3]=b[i+3];
        if(strcmp(c,"2012")==0)count++;
    }
    return count;

}


int main()
{

    int n;
    while(scanf("%d",&n)!=EOF)
    {
        char a[1000];
        scanf("%s",&a);
        char b[1000];
        if(n<=3)
        {
            printf("0\n");
            continue;
        }
        int count=0;

        for(int i=0; i<=n-2; i++)
        {
            for(int j=0; j<=n; j++)b[j]=a[j];
            char temp=b[i];
            b[i]=b[i+1];
            b[i+1]=temp;
            count+=isrelate(b,n);

        }
        if(count!=0)printf("%d\n",count);
        else printf("-1\n");


    }


    return 0;
}

单纯的遍历,但是不知道哪错了

...
登录查看完整内容


登录后发布评论

1 条评论
snake VIP
2024年3月12日 15:55

这个解法不太行

用bfs或者dfs进行搜索

对比结果可以用题解区的代码跑一下

赞(0)