Unordered_set在Codechef IDE上不起作用

时间:2019-01-05 14:52:55

标签: c++ set unordered-set

“ unordered_set”在codechef上无法正常工作,并在其在线ide上给出错误的输出,而我在geeksforgeeks ide和codeblocks上得到正确的输出 对于像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;

}
}

1 个答案:

答案 0 :(得分:3)

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

相关问题