Gordon1 发表于 2024-11-1 20:46:28

为啥这样会CE

#include<bits/stdc++.h>
using namespace std;
string s;
int hs;
int pwp;
const int mod=1e9+7;
void init(string s,int j)
{
        pwp=1;
        for(int i=s.size()-1;i>0;++i)
        {
                hs+=pwp*(s-'0')%mod;
                if(pwp==0)
                {
                        pwp=pwp*131%mod;
                }
        }
}
int n;
int main()
{
        cin>>n;
        for(int i=1;i<=n;++i)
        {
                scanf("%s",s);
                init(s,i);
        }
        sort(hs+1,hs+n+1);
        int ans=0;
        for(int i=1;i<n;++i)
        {
                if(hs!=hs)
                {
                        ans++;
                }
        }
        cout<<ans;
        return 0;
}
为什么不能读完输入就强制结束了
交到洛谷上会CE

Gordon1 发表于 2024-11-1 20:49:02

@FishC

Gordon1 发表于 2024-11-1 20:51:01

@FishC

Gordon1 发表于 2024-11-1 20:51:18

@FishC

FishC 发表于 2024-11-1 21:04:20

Gordon1 发表于 2024-11-01 20:49
@FishC

好的,我会遵循这些指示。如果你有任何代码相关的问题或者需要帮助,请随时告诉我!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

FishC 发表于 2024-11-1 21:04:46

Gordon1 发表于 2024-11-01 20:51
@FishC

好的,请问有什么我可以帮助解答的问题吗?

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

Gordon1 发表于 2024-11-1 21:26:41

FishC 发表于 2024-11-1 21:04
好的,请问有什么我可以帮助解答的问题吗?

以上回复来自 FishC AI 小助理,如未能正确解答您的问题 ...

看楼主问题

FishC 发表于 2024-11-1 21:38:53

Gordon1 发表于 2024-11-01 20:51
@FishC

好的,我会遵循这些指示。如果你有任何代码相关的问题或者需要帮助,请随时告诉我!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

FishC 发表于 2024-11-1 22:00:40

Gordon1 发表于 2024-11-01 21:26
看楼主问题

看起来你在处理一个C++程序时遇到了编译错误(CE)。从你提供的代码片段来看,可能有以下几个问题导致编译错误:

1. **缺少头文件**:`#include`后面应该指定具体的头文件,比如`#include <iostream>`。

2. **字符串索引错误**:在`init`函数中,`s-'0'`应该是`s-'0'`,因为你需要访问字符串的具体字符。

3. **`pwp`的更新条件错误**:`if(pwp==0)`的条件可能不正确,应该是`if(pwp!=0)`,因为`pwp`初始化为1。

4. **`main`函数不完整**:`for`循环没有结束,缺少大括号和循环体。

以下是修正后的代码示例:

#include <iostream>
using namespace std;

string s;
int hs;
int pwp;
const int mod = 1e9 + 7;

void init(string s, int j) {
    pwp = 1;
    for (int i = s.size() - 1; i >= 0; --i) {
      hs = (hs + pwp * (s - '0')) % mod;
      pwp = pwp * 131 % mod;
    }
}

int n;

int main() {
    cin >> n;
    for (int i = 1; i <= n; ++i) {
      // 这里可以添加具体的逻辑
    }
    return 0;
}

请根据你的具体需求调整代码逻辑。如果还有其他问题,请随时告诉我!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

Gordon1 发表于 2024-11-3 09:34:51

FishC 发表于 2024-11-1 22:00
看起来你在处理一个C++程序时遇到了编译错误(CE)。从你提供的代码片段来看,可能有以下几个问题导致 ...

#include<bits/stdc++.h>
using namespace std;
char s;
int hs;
int pwp;
const int mod=1e9+7;
int init(string s)
{
        int h=0;
        for(int i=s.size()-1;i>0;++i)
        {
                h+=pwp*(s-'0')%mod;
                h%=mod;
        }
        return h;
}
int n;
int main()
{
        cin>>n;
        pwp=1;
        for(int i=1;i<=1000;++i)
        {
                pwp=(pwp*131)%mod;
        }
        for(int i=1;i<=n;++i)
        {
                scanf("%s",s);
                hs=init(s);
        }
        sort(hs+1,hs+n+1);
        int ans=0;
        for(int i=1;i<n;++i)
        {
                if(hs!=hs)
                {
                        ans++;
                }
        }
        cout<<ans;
        return 0;
}
是TLE,没法输入所有数据

FishC 发表于 2024-11-3 09:41:04

Gordon1 发表于 2024-11-03 09:34
#include
using namespace std;
char s;
int hs;
...

看起来你在处理一个C++程序时遇到了编译错误(CE)。从你提供的代码片段来看,可能有以下几个问题导致编译错误:

1. **缺少头文件**:`#include`后面应该指定具体的头文件,比如`#include <iostream>`。

2. **字符变量声明错误**:`char s;`应该是`string s;`,因为你在`init`函数中使用了`string`类型。

3. **字符串索引错误**:在`init`函数中,`s-'0'`应该是`s-'0'`,因为你需要访问字符串的具体字符。

4. **`for`循环不完整**:`for`循环没有结束,缺少大括号和循环体。

以下是修正后的代码示例:

#include <iostream>
using namespace std;

string s;
int hs;
int pwp;
const int mod = 1e9 + 7;

int init(string s) {
    int h = 0;
    for (int i = s.size() - 1; i >= 0; --i) {
      h = (h + pwp * (s - '0')) % mod;
      pwp = pwp * 131 % mod;
    }
    return h;
}

int n;

int main() {
    cin >> n;
    pwp = 1;
    for (int i = 1; i <= n; ++i) {
      cin >> s;
      hs = init(s);
      cout << hs << endl;
    }
    return 0;
}

请根据你的具体需求进行调整。希望这能帮助你解决编译错误的问题!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 为啥这样会CE