首页 > 解决方案 > Unordered_set 在 codechef ide 上不起作用

问题描述

“unordered_set”在 codechef 上无法正常工作并在其在线 ide 上给出错误的输出,而我在 geeksforgeeks ide 和代码块上得到正确的输出,如 3 2 10 1 100 4 3 我在代码块和 geeksforgeeks 中得到 4 行,因为n+m-1 是 4,而我在 codechef 中只有 2 行,这可能是什么原因,现在它将如何在 codechef 上工作?

#include<stdio.h>
#include<bits/stdc++.h>
#include<unordered_set>
using namespace std;
int main()
{
int n,m,c=0,d,i,j,sum;
int a[10000];
int b[10000];
unordered_set <int> s;
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
    scanf("%d",&a[i]);
for(i=0;i<m;i++)
    scanf("%d",&b[i]);
for(i=0;i<n;i++)
{
    for(j=0;j<m;j++)
    {
        sum=a[i]+b[j];
        if(s.find(sum)==s.end())
        {
            s.insert(sum);
            printf("%d %d\n",i,j);
            c++;
        }
        if(c>=(n+m-1))
            {d=1;break;}
    }
    if(d==1)
        break;

}
}

标签: c++setunordered-set

解决方案


通过访问未初始化变量的值,您的程序表现出未定义的行为d


推荐阅读