“ 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;
}
}
答案 0 :(得分:3)
您的程序通过访问未初始化的变量d
的值,表现出未定义的行为。