E問題をC++とPythonで解いてみました。ABC303は、2023年5月27日21:00に実施されました。紹介はこちらに、プログラミングの方針はこちらに記事があります。1113)問題はリンク先をご覧ください。Stars木の頂点の次数を調べることによって解くことができる問題です。入力例3は頂点が多いですが、グラフは以下となります。黄色の頂点が元の星の頂点、赤色の辺が手続きで追加された辺となります。グラフを観察すると、以下が分かります。次数1の頂点をつなぐため、次数3以上の頂点は元の星の頂点となる(手続きによって辺が増えない)。すると、以下の関係が成り立つ。この式から次数2の頂点の数が分かる。20$次数3以上の頂点の個数を求めて、計算して次数2の頂点の個数を求めることができます。プログラム例(ABC303E)以下の手順で問題を解きます。格納します(12、13行目)。頻度を引きます(25行目)。次数を格納します(27行目)。格納します(32行目)。ソートして出力します(34、37行目)。以下が、C++プログラムとなります。0;}AC(Accepted=正しいプログラム)と判定されました。版のロジックを移植しました。使いました(2、11行目)。リスト要素の出力が楽です(26行目)。result.append(2)result.sort()print(*result)こちらも「AC」と判定されました。最後にコンテスト中は、今の自分には難しいとあきらめてしまいました。解説を読むと、頂点の次数だけで求めることができることが分かりました。新しい考え方を学べました。問題を紹介していきます。コメントをキャンセルメールアドレスが公開されることはありません。付いている欄は必須項目です上に表示された文字を入力してください。Contest)記事一覧ソフトウェア技術者アナダパンチ組込み製品の開発に従事しているソフトウェア技術者です。仕事でソフトウェア開発に従事しながら、趣味でもプログラミングを楽しんでいます。