Let $\mathbb{R}[x]$ be the set of all polynomials with real coefficients. Find all functions $f: \mathbb{R}[x] \rightarrow \mathbb{R}[x]$ satisfying the following conditions:

[list]
    [*] $f$ maps the zero polynomial to itself,
    [*] for any non-zero polynomial $P \in \mathbb{R}[x]$, $\text{deg} \, f(P) \le 1+ \text{deg} \, P$, and
    [*] for any two polynomials $P, Q \in \mathbb{R}[x]$, the polynomials $P-f(Q)$ and $Q-f(P)$ have the same set of real roots. 
[/list]

[i]Proposed by Anant Mudgal, Sutanay Bhattacharya, Pulkit Sinha[/i]
1. **Initial Conditions and Definitions:**
   - Let \( f: \mathbb{R}[x] \rightarrow \mathbb{R}[x] \) be a function satisfying:
     - \( f(0) = 0 \)
     - For any non-zero polynomial \( P \in \mathbb{R}[x] \), \( \deg f(P) \leq 1 + \deg P \)
     - For any two polynomials \( P, Q \in \mathbb{R}[x] \), the polynomials \( P - f(Q) \) and \( Q - f(P) \) have the same set of real roots.

2. **Involution Property:**
   - From \( B(f(Q), Q) \), we have that \( 0 \) and \( Q - f(f(Q)) \) have the same set of real roots. This implies \( f(f(Q)) = Q \), so \( f \) is an involution.

3. **Roots Preservation:**
   - From \( B(0, Q) \), we have that \( f(Q) \) and \( Q \) have the same real roots.

4. **Degree Analysis for Linear Polynomials:**
   - Suppose \( \deg R = 1 \). Then \( A(R) \) implies \( \deg f(R) \in \{0, 1, 2\} \).
   - Since \( f \) is an involution and preserves roots, \( f(R) \) must be of the form \( cR \) or \( cR^2 \) or a constant polynomial \( C \).

5. **Claim 1: \( \deg f(R) \neq 2 \):**
   - If \( f(R) = cR^2 \), then \( cR^2 - f(d) \) and \( R - d \) must have the same set of real roots for some \( d \). Choosing \( d \) such that \( f(d) \) has a different sign from \( c \), \( cR^2 - f(d) \) will not have any real roots, leading to a contradiction. Hence, \( f(R) \neq cR^2 \).

6. **Claim 2: \( \deg f(R) \neq 0 \):**
   - Suppose \( f(R_1) = C \) for some \( R_1 \). Then \( A(C) \) implies \( \deg f(C) \in \{0, 1\} \).
   - If \( \deg f(C) = 1 \), then \( B(C, 0) \) implies \( f(C) = 0 \), which is a contradiction. Hence, \( \deg f(C) = 0 \).
   - \( B(R_1, C) \) implies \( R_1 - f(C) \) and \( 0 \) have the same set of real roots, so \( R_1 = f(C) \), leading to a contradiction.

7. **Consistency for Different Roots:**
   - Let \( R, R' \) have different roots. From \( B(R, R') \), \( cR - R' \) and \( R - dR' \) must have the same set of roots, implying \( mc = 1 \) and \( -m = -d \). This gives \( cd = 1 \).
   - Choosing another polynomial \( R_2 \) with different roots from both, and letting \( f(R_2) = kR_2 \), we get \( cd = dk = ck = 1 \), so \( c = d = \pm 1 \).

8. **Final Cases:**
   - If \( f(T) = T \) for all \( T \in \mathbb{R}[x] \), then \( B(R, Q) \) implies \( f(Q) - R \) and \( Q - R \) have the same set of real roots, leading to \( f(Q) = Q \).
   - If \( f(T) = -T \) for all \( T \in \mathbb{R}[x] \), then \( B(R, Q) \) implies \( f(Q) - R \) and \( Q + R \) have the same set of real roots, leading to \( f(Q) = -Q \).

Conclusion:
\[
\boxed{f(Q) = Q \text{ or } f(Q) = -Q \text{ for all } Q \in \mathbb{R}[x]}
\]