zoukankan      html  css  js  c++  java
  • Graph And Its Complement CodeForces

    题意:

      图中有n个点,开始有a个连通块,然后连着的边断开,不连的边连上,变为b个连通块,输出原图的邻接矩阵。

    解析:

      原图中连通块大于1的图,经过上述操作后,一定变成只有1个连通块的图。

      若n != 2 || n != 3 则存在原图中连通块为1的图,经过上述操作后,一定变成只有1个连通块的图

      所以a 和 b 肯定有一个为1

      对于a != 1的情况,输出的时候只需要把前a-1个点 不连边 第a个到最后一个没相邻的两个连一条边 即可

    因为a 和 b 是互补的 所以 a == 1时 swap交换一下a和b  并且交换1和0

    #include "iostream"
    #include "algorithm"
    using namespace std;
    int n,a,b;
    char ch1='1',ch2='0';
    int main() {
        cin>>n>>a>>b;
        if (a!=1&&b!=1||a==1&&b==1&&n<=3&&n>=2||a>n||b>n) {cout<<"NO"<<endl; return 0;}
        cout<<"YES"<<endl;
        if (b !=1) swap(a,b), swap(ch1,ch2);
        for (int i=0;i<n;i++) {
            for (int j=0;j<n;j++) {
                cout<<(i==j?'0':(i+1==j&&j>=a||j+1==i&&i>=a?ch1:ch2));
            }
            cout<<endl;
        }
    }
    自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    sabaki and leelazero
    apply current folder view to all folders
    string operation in powershell
    wirte function in powershell
    add environment path to powershell
    Module in powershell
    sql prompt
    vmware中鼠标在部分区域不能使用
    调整多个控件的dock的顺序
    行为型模型 策略模式
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/9544492.html
Copyright © 2011-2022 走看看