鱼C论坛

 找回密码
 立即注册
查看: 112|回复: 10

为啥这样会CE

[复制链接]
发表于 2024-11-1 20:46:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<bits/stdc++.h>
using namespace std;
string s;
int hs[100010];
int pwp[1010];
const int mod=1e9+7;
void init(string s,int j)
{
        pwp[0]=1;
        for(int i=s.size()-1;i>0;++i)
        {
                hs[j]+=pwp[s.size()-i-1]*(s[i]-'0')%mod;
                if(pwp[s.size()-i]==0)
                {
                        pwp[s.size()-i]=pwp[s.size()-i-1]*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[i+1]!=hs[i])
                {
                        ans++;
                }
        }
        cout<<ans;
        return 0;
}
为什么不能读完输入就强制结束了
交到洛谷上会CE
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-11-1 20:49:02 | 显示全部楼层
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-1 20:51:01 | 显示全部楼层
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-1 20:51:18 | 显示全部楼层
@FishC
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-11-1 21:04:20 | 显示全部楼层


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-11-1 21:04:46 | 显示全部楼层


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-1 21:26:41 | 显示全部楼层
FishC 发表于 2024-11-1 21:04
好的,请问有什么我可以帮助解答的问题吗?

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

看楼主问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-11-1 21:38:53 | 显示全部楼层


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-11-1 22:00:40 | 显示全部楼层


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

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

2. **字符串索引错误**:在`init`函数中,`s-'0'`应该是`s[i]-'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[i] - '0')) % mod;
        pwp = pwp * 131 % mod;
    }
}

int n;

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

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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-3 09:34:51 | 显示全部楼层
FishC 发表于 2024-11-1 22:00
看起来你在处理一个C++程序时遇到了编译错误(CE)。从你提供的代码片段来看,可能有以下几个问题导致 ...
#include<bits/stdc++.h>
using namespace std;
char s[100010];
int hs[100010];
int pwp[1010];
const int mod=1e9+7;
int init(string s)
{
        int h=0;
        for(int i=s.size()-1;i>0;++i)
        {
                h+=pwp[s.size()-i-1]*(s[i]-'0')%mod;
                h%=mod;
        }
        return h;
}
int n;
int main()
{
        cin>>n;
        pwp[0]=1;
        for(int i=1;i<=1000;++i)
        {
                pwp[i]=(pwp[i-1]*131)%mod;
        }
        for(int i=1;i<=n;++i)
        {
                scanf("%s",s);
                hs[i]=init(s);
        }
        sort(hs+1,hs+n+1);
        int ans=0;
        for(int i=1;i<n;++i)
        {
                if(hs[i+1]!=hs[i])
                {
                        ans++;
                }
        }
        cout<<ans;
        return 0;
}
是TLE,没法输入所有数据
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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[i]-'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[i] - '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 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 19:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表