% ------------------------------------------------------------------------------
% Copyright (c) 2019, 2024 Contributors to the Eclipse Foundation
%
% See the NOTICE file(s) distributed with this work for additional
% information regarding copyright ownership.
%
% This program and the accompanying materials are made available under the terms
% of the MIT License which is available at https://opensource.org/licenses/MIT
%
% SPDX-License-Identifier: MIT
% ------------------------------------------------------------------------------
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta, arrows, automata, calc, patterns, patterns.meta, positioning, shapes, shapes.misc}
\usepackage[paperwidth=40in, paperheight=20in]{geometry}

\begin{document}
\pagestyle{empty}

\begin{tikzpicture}[
    auto,
    ->,
    node distance=4cm,
    every state/.style={ellipse, semithick, fill=black!5, minimum size=1.5cm, font=\Large},
    initial distance=1.2cm,
    every initial by arrow/.style={-{Stealth[scale=1.4]}},
    initial text=,
    transform shape,
    double distance=2pt,
    every loop/.style={min distance=10mm},
    removed-state/.style={draw=none, preaction={fill, black!5},
            pattern={Lines[distance=2mm, angle=45, line width=0.8mm]}, pattern color=white}
]

\node[state]                                  (A) {$1$, $1$};
\node[state,                right of=      A] (B) {$2$, $1$};
\node[state, initial,       right of=      B] (C) {$2$, $2$};
\node[state,                right of=      C] (D) {$1$, $2$};
\node[state, accepting,     below=1.5cm of C] (E) {$3$, $2$};
\node[state, removed-state, below=1.5cm of B] (F) {};

\path[-{Stealth[scale=1.4]}]
    (A) edge[bend left, above]      node[align=center] {\texttt{c}} (B)
    (B) edge[bend left, above]      node[align=center] {\texttt{b}} (C)
    (C) edge[above]                 node[align=center] {\texttt{d}} (D)
    (B) edge[bend left, below]      node[align=center] {\texttt{d}} (A)
    (C) edge[bend left, below]      node[align=center] {\texttt{a}} (B)
    (C) edge[right, dashed]         node[align=center] {\texttt{f}} (E)
    (B) edge[right, dashed]         node[align=center] {\texttt{f}} (F)
    (D) edge[right]                 node[align=center] {\texttt{e}} (E)
    (D) edge[above, out=140, in=40] node[align=center] {\texttt{a}} (A)
    (C) edge[loop above]            node[align=center] {\texttt{b}} (C)
    (E) edge[loop below]            node[align=center] {\texttt{e}} (E)
;

\end{tikzpicture}
\end{document}
