We are given:
- Length of train 1 = 680 m
- Length of train 2 = 570 m
- Speed of train 1 = 80 km/h
- Speed of train 2 = 70 km/h
To find the time taken for the two trains to cross each other, we first need to calculate the relative speed. Since the trains are moving towards each other, the relative speed is the sum of their speeds.
Convert the speeds to meters per second:
\[
\text{Speed of train 1} = 80 \, \text{km/h} = \frac{80 \times 1000}{3600} = \frac{80000}{3600} \approx 22.22 \, \text{m/s}
\]
\[
\text{Speed of train 2} = 70 \, \text{km/h} = \frac{70 \times 1000}{3600} = \frac{70000}{3600} \approx 19.44 \, \text{m/s}
\]
Now, the relative speed is:
\[
\text{Relative speed} = 22.22 + 19.44 = 41.66 \, \text{m/s}
\]
The total distance to be covered by the two trains is the sum of their lengths:
\[
\text{Total distance} = 680 + 570 = 1250 \, \text{m}
\]
Now, the time taken to cross each other is:
\[
\text{Time} = \frac{\text{Total distance}}{\text{Relative speed}} = \frac{1250}{41.66} \approx 30 \, \text{seconds}
\]
Thus, the correct answer is \( \boxed{30} \) seconds.