鱼C论坛

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

为啥这样会CE

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

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

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

x
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. string s;
  4. int hs[100010];
  5. int pwp[1010];
  6. const int mod=1e9+7;
  7. void init(string s,int j)
  8. {
  9.         pwp[0]=1;
  10.         for(int i=s.size()-1;i>0;++i)
  11.         {
  12.                 hs[j]+=pwp[s.size()-i-1]*(s[i]-'0')%mod;
  13.                 if(pwp[s.size()-i]==0)
  14.                 {
  15.                         pwp[s.size()-i]=pwp[s.size()-i-1]*131%mod;
  16.                 }
  17.         }
  18. }
  19. int n;
  20. int main()
  21. {
  22.         cin>>n;
  23.         for(int i=1;i<=n;++i)
  24.         {
  25.                 scanf("%s",s);
  26.                 init(s,i);
  27.         }
  28.         sort(hs+1,hs+n+1);
  29.         int ans=0;
  30.         for(int i=1;i<n;++i)
  31.         {
  32.                 if(hs[i+1]!=hs[i])
  33.                 {
  34.                         ans++;
  35.                 }
  36.         }
  37.         cout<<ans;
  38.         return 0;
  39. }
复制代码

为什么不能读完输入就强制结束了
交到洛谷上会CE
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2024-11-1 20:49:02 | 显示全部楼层
@FishC
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-1 20:51:01 | 显示全部楼层
@FishC
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-1 20:51:18 | 显示全部楼层
@FishC
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

看楼主问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://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`循环没有结束,缺少大括号和循环体。

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

  1. #include <iostream>
  2. using namespace std;

  3. string s;
  4. int hs;
  5. int pwp;
  6. const int mod = 1e9 + 7;

  7. void init(string s, int j) {
  8.     pwp = 1;
  9.     for (int i = s.size() - 1; i >= 0; --i) {
  10.         hs = (hs + pwp * (s[i] - '0')) % mod;
  11.         pwp = pwp * 131 % mod;
  12.     }
  13. }

  14. int n;

  15. int main() {
  16.     cin >> n;
  17.     for (int i = 1; i <= n; ++i) {
  18.         // 这里可以添加具体的逻辑
  19.     }
  20.     return 0;
  21. }
复制代码


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-11-3 09:34:51 | 显示全部楼层
FishC 发表于 2024-11-1 22:00
看起来你在处理一个C++程序时遇到了编译错误(CE)。从你提供的代码片段来看,可能有以下几个问题导致 ...
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. char s[100010];
  4. int hs[100010];
  5. int pwp[1010];
  6. const int mod=1e9+7;
  7. int init(string s)
  8. {
  9.         int h=0;
  10.         for(int i=s.size()-1;i>0;++i)
  11.         {
  12.                 h+=pwp[s.size()-i-1]*(s[i]-'0')%mod;
  13.                 h%=mod;
  14.         }
  15.         return h;
  16. }
  17. int n;
  18. int main()
  19. {
  20.         cin>>n;
  21.         pwp[0]=1;
  22.         for(int i=1;i<=1000;++i)
  23.         {
  24.                 pwp[i]=(pwp[i-1]*131)%mod;
  25.         }
  26.         for(int i=1;i<=n;++i)
  27.         {
  28.                 scanf("%s",s);
  29.                 hs[i]=init(s);
  30.         }
  31.         sort(hs+1,hs+n+1);
  32.         int ans=0;
  33.         for(int i=1;i<n;++i)
  34.         {
  35.                 if(hs[i+1]!=hs[i])
  36.                 {
  37.                         ans++;
  38.                 }
  39.         }
  40.         cout<<ans;
  41.         return 0;
  42. }
复制代码

是TLE,没法输入所有数据
小甲鱼最新课程 -> https://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`循环没有结束,缺少大括号和循环体。

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

  1. #include <iostream>
  2. using namespace std;

  3. string s;
  4. int hs;
  5. int pwp;
  6. const int mod = 1e9 + 7;

  7. int init(string s) {
  8.     int h = 0;
  9.     for (int i = s.size() - 1; i >= 0; --i) {
  10.         h = (h + pwp * (s[i] - '0')) % mod;
  11.         pwp = pwp * 131 % mod;
  12.     }
  13.     return h;
  14. }

  15. int n;

  16. int main() {
  17.     cin >> n;
  18.     pwp = 1;
  19.     for (int i = 1; i <= n; ++i) {
  20.         cin >> s;
  21.         hs = init(s);
  22.         cout << hs << endl;
  23.     }
  24.     return 0;
  25. }
复制代码


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

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-10 02:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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