Variable updating without update statement!

Solution

In this code, value of bb1 is updating, even when there is no update statement for it. How is it possible?

How can you tell?

I put cout statement printing value of bb1

Where? With what testcase?

Input:

4
1 1
2 3
3 2
4 4

Output:

3
4

I wonder where bb1 was even initialized. How do you know that it is updating if you don’t know the initial value? Am I missing something?

1 Like

To be more explicit: there is no variable “bb1”: bb1 is the identifier of a member of a struct which is instantiated 800100 times. There is also no overload that enables it to be printed directly to an ostream. So how, precisely, are you determining its value is being updated? Give us some code :slight_smile:

1 Like

See this code of mine

1 Like

Thankyou :slight_smile:

Running it, I get this:

echo "5
1 4
1 5
1 3
3 4
3 1" | ./a.out | grep bb1
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)
bb1 ---mx,mi (0,0)

if you’re seeing something different, it’s probably because the bb1 data member is never initialised anywhere, so its value is undefined.

Edit:

Compiling it with clang gives a bit of random-number noise, but initialising mx and mi properly makes this go away:

int mx = 0,mi = 0; //two variables
2 Likes

Yes, it shows 0 , 0 always when ran on Codechef IDE.
I was running it on Here , it shows different values.
Which IDE you used?

I just use

g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0

from the command-line, or

clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
1 Like