zoukankan      html  css  js  c++  java
  • CF 192 Div2

    A.Cakeminator

    暴搞之,从没有草莓覆盖的行、列遍历

    char map[30][30];
    int vis[30][30];
    int hang[30],lie[30];
    int main() {
    
        int n,m,i,j;
        cin >> n >> m;
        for(i=1; i<=n; i++) {
            for(j=1; j<=m; j++) {
                cin >> map[i][j];
                if(map[i][j] == 'S') {
                    hang[i] = 1;
                    lie[j] = 1;
                }
            }
        }
        for(i=1; i<=n; i++) {
            if(hang[i] == 0) {
                for(j=1; j<=m; j++) {
                    vis[i][j] = 1;
                }
            }
        }
        for(i=1; i<=m; i++) {
            if(lie[i] == 0) {
                for(j=1; j<=n; j++) {
                    vis[j][i] = 1;
                }
            }
        }
        int cnt = 0;
        for(i=1; i<=n; i++) {
            for(j=1; j<=m; j++) {
                if(vis[i][j] == 1)
                    cnt++;
            }
        }
        cout << cnt << endl;
        return 0;
    }


    B.Road Construction

    从一个点到达其他点的距离小于等于2,那只有以一个点为中心,其它点只与它连接的建图了

    m < n/2 所有一定至少有一个点能做中心点

    int vis[1005];
    int main() {
    
        int n,m,i,j,a,b;
        cin >> n >> m;
        for(i=1; i<=m; i++) {
            cin >> a >> b;
            vis[a] = 1;
            vis[b] = 1;
        }
        int t;
        for(i=1; i<=n; i++) {
            if(vis[i] == 0){
              t = i;
              break;
            }
        }
        cout << n-1 << endl;
        for(i=1; i<=n; i++) {
            if(i != t) cout << i << ' ' << t << endl;
        }
        return 0;
    }


    C.Purification

    搞了很久,开始想太复杂了。寻找是否所有行或者所有列能被‘.’覆盖,只要一条满足,就可以直接输出了

    char map[105][105];
    int x[105],y[105];
    int main() {
    
        int n,i,j;
        cin >> n;
        for(i=0; i<n; i++) {
            cin >> map[i];
        }
        for(i=0; i<n; i++) {
            for(j=0; j<n; j++) {
                if(map[i][j] == '.') {
                    x[i] = 1;
                    y[j] = 1;
                }
            }
        }
        int cntx = 0,cnty = 0;
        for(i=0; i<n; i++) {
            if(x[i] != 0) {
                cntx++;
            }
            if(y[i] != 0) {
                cnty++;
            }
        }
        if(cnty <n && cntx <n) {
            cout << -1 << endl;
            return 0;
        }
        int flag = 0;
        if(cntx == n) {
            flag = 1;
            for(i=0; i<n; i++) {
                for(j=0; j<n; j++) {
                    if(map[i][j] == '.') {
                        cout << i+1 << ' ' << j+1 << endl;
                        break;
                    }
                }
            }
        }
        if(flag == 1)
            return 0;
        if(cnty == n) {
            for(i=0; i<n; i++) {
                for(j=0; j<n; j++) {
                    if(map[j][i] == '.') {
                        cout << j+1 << ' ' << i+1 << endl;
                        break;
                    }
                }
            }
        }
        return 0;
    }


    只过三道题,D,E没看 。

    赛后据说D是很水的bfs,所以没写。

  • 相关阅读:
    1、scala安装和基本语法
    3.12-3.16 Hbase集成hive、sqoop、hue
    3.7-3.9 HBase表属性
    3.4-3.6 依据业务需求分析HBase的表设计
    字符串匹配[原始方法]
    括号匹配[栈]
    13.A={1,2,3,5}和为10的问题
    12.回溯递归
    11.字符串{a,b}的幂集[回溯递归]
    10.N个整数中查找是否相加为K[深度搜索]
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3206228.html
Copyright © 2011-2022 走看看