关于你谷IDE
  • 板块学术版
  • 楼主MasCotangent
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/3/22 17:47
  • 上次更新2023/10/23 20:51:27
查看原帖
关于你谷IDE
493206
MasCotangent楼主2023/3/22 17:47

P1125中;使用aaaab作为测试样例输入,并在洛谷IDE内使用如下代码:

#include<bits/stdc++.h>
using namespace std;
int a[26]={0,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97};
int m[102][2],maxn=0,minn=100,ans,num;
int main(){
    string x;
    bool flag;
    cin>>x;
    for(int i=0;i<=x.size();i++){
        int ii=x[i];
        for(int j=1;j<=i;j++){
            flag=0;
            if(m[j][1]==ii){
                m[j][2]++;
                flag=1;
                break;
            }
        }
        if(flag==0){
            num++;
            m[i+1][1]=ii;
            m[i+1][2]=1;
        }
    }
    for(int i=1;i<=num;i++){
        if(m[i][2]>maxn){
            maxn=m[i][2];
        }
        if(m[i][2]<minn){
            minn=m[i][2];
        }
    }
    ans=maxn-minn;
    //cout<<maxn<<' '<<minn;
    for(int i=1;i<=25;i++){
        if(a[i]==ans){
            cout<<"Lucky Word"<<endl<<ans;
            return 0;
        }
    }
    cout<<"No Answer"<<endl<<ans;
    return 0;
}

提交, 第二行会输出2(正解是3)但是如果把其中注释的//cout<<maxn<<' '<<minn;取消注释,则第二行输出正确。

所以这是为什么呢?

顺便请大佬们帮我看看这题哪里错了。

2023/3/22 17:47
加载中...