codeforces 330A

简介: http://codeforces.com/problemset/problem/330/A#include<iostream>#include<cstdio>#include<cstring>using namespace std;int row[10][10],col[10][10];char s[10][10];int main(
http://codeforces.com/problemset/problem/330/A
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int row[10][10],col[10][10];
char s[10][10];
int main()
{
    // freopen("1.txt","r",stdin);
    int r,c;
    while(scanf("%d%d",&r,&c)!=EOF)
    {
        memset(row,0,sizeof(row));
        memset(col,0,sizeof(col));
        int ans=0;
        for(int i=0; i<r; i++)
        {
            getchar();
            for(int j=0; j<c; j++)
                scanf("%c",&s[i][j]);
        }
        for(int i=0; i<r; i++)
            for(int j=0; j<c; j++)
                if(s[i][j]=='S')
                {
                    for(int ii=0; ii<c; ii++)
                        row[i][ii]=1;
                    for(int jj=0; jj<r; jj++)
                        col[jj][j]=1;
                }
        for(int i=0; i<r; i++)
            for(int j=0; j<c; j++)
            {
                if(!row[i][j]||!col[i][j])
                    ans++;
            }
        cout<<ans<<endl;
    }
    return 0;
}

  题解:如果一个点有草莓的话,就会限制掉那对应的一行与对应的列,当一个点所处的坐标(x,y)行x,y都被限制时。就是此点不能去除,不计算该点。所以解法出来了。

 

#include <cstdio>  
#include <cstring>  
#include <iostream>  
#include <algorithm>  
  
using namespace std;  
  
char cmd;  
int line[20];  
int col[20];  
int main(){  
    int n,m;  
    cin>>n>>m;  
    for(int i=0;i<20;i++){  
         line[i]=0;  
         col[i]=0;  
    }  
    int a=0,b=0;  
    for(int i=0;i<n;++i)  
       for(int j=0;j<m;++j){  
             cin>>cmd;  
             if(cmd=='S'){  
                 if(line[i]==0) ++a;  
                  line[i]++;  
                 if(col[j]==0)  ++b;  
                  col[j]++;  
             }  
       }  
       cout<<n*m-a*b<<endl;  
       return 0;  
}  

 

  

 

目录
相关文章
|
C++
codeforces 305 C. Ivan and Powers of Two
我的思路是这样的,由2^a+2^a = 2^(a+1)可知,如果有两个连续的数a,我们可以把他们合并为a+1放入集合中,使集合中没有重复的数,我可以用stl里的set。如果想要满足题目中的要求,集合中必须有最大那个数个元素,缺多少就可以计算出来了。
33 0
codeforces 327 A Ciel and Dancing
给你一串只有0和1的数字,然后对某一区间的数翻转1次(0变1 1变0),只翻转一次而且不能不翻转,然后让你计算最多可能出现多少个1。 这里要注意很多细节 比如全为1,要求必须翻转,这时候我们只要翻转一个1就可以了,对于其他情况,我们只要计算区间里面如果0多于1,将其翻转后计算1的总数,然后取最大值。
48 0
codeforces 322 A Ciel and Dancing
有n个男孩和m个女孩,他们要结对跳舞,每对要有一个女孩和一个男孩,而且其中一个要求之前没有和其他人结对,求出最大可以结多少对。
41 0
C - Rumor CodeForces - 893C
C - Rumor CodeForces - 893C
93 0
|
数据安全/隐私保护
Codeforces 417D.Cunning Gena (状压DP)
Codeforces 417D.Cunning Gena (状压DP)
92 0
|
人工智能
Codeforces 777C Alyona and Spreadsheet
C. Alyona and Spreadsheet time limit per test:1 second memory limit per test:256 megabytes input:standard input output:standard ...
1160 0
Codeforces 591B Rebranding
B. Rebranding time limit per test:2 seconds memory limit per test:256 megabytes input:standard input output:standard output ...
857 0
|
人工智能
Codeforces 719B Anatoly and Cockroaches
B. Anatoly and Cockroaches time limit per test:1 second memory limit per test:256 megabytes input:standard input output:stan...
894 0

热门文章

最新文章