zoukankan      html  css  js  c++  java
  • Codeforces Round #192 (Div. 2) (329A)C.Purification

    题意:

          在一个正常的点可以净化该行该列的所有细胞,判断是否可以净化所有的细胞,并且输出所选的点。

    思路:

        如果可以的话,一定会选n个点。 先判断每一行是否有正常细胞,然后判断每一列是否有,如果都没有肯定不能净化,然后输出每一行或者每一列的第一个正常细胞的位置就好。

    #include <iostream>
    #include <stdio.h>
    #include <string.h>
    using namespace std;
    
    int n ;
    char map[110][110];
    
    int main()
    {
        
        cin>>n;
        int i , x[110] , y[110] , j;
        memset(x , 0 , sizeof(x));
        memset(y , 0 , sizeof(y));
        for(i = 0;i < n; i++ )
        {
            cin>>map[i];
            for(j = 0; j < n; j++)
            {
                if(map[i][j] == '.')
                {
                    x[i] = 1;
                    y[j] = 1;
                }
            }
        }
        int b = 0, c = 0;
        for(i = 0; i < n; i++)
        {
            if(x[i] == 0)  b = 1;
            if(y[i] == 0)  c = 1;
        }
        if(b&&c)
        {
            cout<<"-1"<<endl;
            return 0 ;
        }
        if(b == 0)
        {
            for(i = 0; i < n; i++)
                for(j = 0; j < n; j++)
                {
                    if(map[i][j] == '.')
                    {
                        cout<<i+1<<" "<<j+1<<endl;
                        break;
                    }
                }
            return 0;
        }
        if(c == 0)
        {
            for(j = 0; j < n; j++)
                for(i = 0; i < n; i++)
                {
                    if(map[i][j] == '.')
                    {
                        cout<<i+1<<" "<<j+1<<endl;
                        break;
                    }
                }
        }
        return 0;
    }


  • 相关阅读:
    对象的创建
    Java运行时数据区域
    Java内存模型
    LinkedList小练习及相关算法
    面试题之矩阵与转置矩阵相乘
    快速排序
    垃圾收集器
    java垃圾收集相关问题
    Win7下安装Centos7双系统出错:No valid bootloader target device found.
    Scanner类的方法
  • 原文地址:https://www.cnblogs.com/xindoo/p/3595060.html
Copyright © 2011-2022 走看看