B.パーティー

B.パーティー

問題の意味

残すための法律の定めるところにより、従うべき参加する個人は、パーティーを残した友人があった二回目は、三回目は、2つの左ターンを持っている友人で、初めて0友人がままあり、nがありますそれは、3,4,5,6です。n-1の左友人一度、人々の最大数を求める最後のパーティが残されます。

思考

ときに一つまたは二つの個体パーソナル0は、三人以上の残り、すなわちN個人であろうと、残りの(N-2)番目のであろう。

グラフ理論の問題に変換するたびにゼロ点の度合いを削除することで、その後、ポイント1の度合いを削除...、あなたの最後頼むまで、いくつかの残りの頂点を。

我々はすぐに見つけることができるならば、最小限の、すなわち、全体のグラフが完全グラフで、各頂点の程度は残して最後で、N-1です。

第二に、我々はそれが0であるとき、n = 1のとき、ことがわかりました。

n = 2の場合0である場合。

だから、どのようにそれの残りの部分を検討?

それは考えることができます

ただ、この時点では、友人の残りの部分を、人々のその後の数を、その人がその後、人々の残りの部分は、それが行かない場合は、友人はdと仮定し、少なくとも1人のセットを残す<D、一人だけが残った場合、その後、Dの意志人は、歩行に加えて、残りのことを描くことができるようになりますことを、その後、-nは1である(をN-1)のn個人が友人を持たなければならない、と完全グラフでは、ポイントの最大次数は(n-1)矛盾の導入、
人々は少なくとも2のままと仮定され、その後、セットアップは、必要のみと仮定N人々の間の関係は、エッジを除去するために、完全グラフを構成し、現在、この図は、エッジのみが(N-あることが除去される2つのエンドポイントの、点の残りは(N-1)になった後、2つの次数(N-2)点を除去2)、、、ポイントの残りの部分は、この時点で残り、)、N-2(に変更されこれらの残りの点の度(N-2)、限りつ以上の点として、Ruoguoがあるので、2点の最小値を削除し、3点以上ていること、完全グラフを形成することができ、n個の点、残りの(N-2)番目のポイント。

コードの実装

//链接:https://codeforces.com/problemset/problem/23/B
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e5 + 5;
int main(void) {
    int t;
    cin >> t;
    while(t--){
        int n;
        cin >> n;
        if(n==1) cout<<0<<endl;
        else cout<<n-2<<endl;
    }
    return 0;
}

おすすめ

転載: www.cnblogs.com/AC-AC/p/12503063.html