Codeforces Round #192 (Div. 2) (329A)C.Purification
  TEZNKK3IfmPf 2023年11月14日 18 0

题意:

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

思路:

    如果可以的话,一定会选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;
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月15日   81   0   0 序列编程开发
  TEZNKK3IfmPf   2023年11月15日   38   0   0 vue编程开发
  TEZNKK3IfmPf   2023年11月15日   43   0   0 数据库编程开发
  TEZNKK3IfmPf   2023年11月15日   61   0   0 i++编程开发
  TEZNKK3IfmPf   2023年11月15日   29   0   0 编程开发
  TEZNKK3IfmPf   2023年11月15日   30   0   0 html编程开发
TEZNKK3IfmPf