zoukankan      html  css  js  c++  java
  • 【CodeForces 699B】One Bomb

    r[i],c[i]分别表示第i行有几个*,第i列有几个*。

    枚举每个位置如果c[i]+r[j]-(本身是不是*)==总*数,则该位置即为答案。

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #define N 10050
    using namespace std;
    int n,m,r[N],c[N],x,y,num;
    char ma[N][N];
    int main(){
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++){
            scanf("%s",&ma[i]);
            for(int j=1;j<=m;j++){
                if(ma[i][j-1]=='*'){
                    num++;
                    r[i]++;
                    c[j]++;
                }
            }
        }
        int ok=0;
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
            {
                int s=r[i]+c[j];
                if(ma[i][j-1]=='*')s--;
                if(s==num){
                    ok=1;
                    x=i;
                    y=j;
                }
            }        
        if(ok)
        {
            puts("YES");
            printf("%d %d",x,y);
        }
        else printf("NO");
    } 

      

  • 相关阅读:
    c++的socket编程 tcp
    qt下载
    定义数组类型
    虚析构函数
    运算符重载
    友元函数
    const成员函数
    静态成员变量,静态成员函数
    linux安装mysql
    智能指针
  • 原文地址:https://www.cnblogs.com/flipped/p/5734978.html
Copyright © 2011-2022 走看看