codeforces A. Cakeminator 题解

2014-11-24 12:19:54 · 作者: · 浏览: 4

本题思路:

1 先扫描行,如果可以吃,就数吃了多少格,然后做好标志

2 扫描列,同样处理

扫描完就可以出答案了。

时间效率是O(n*m)了。算是暴力法

题目:

#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #include 
      
        #include 
       
         using namespace std; void Cakeminator() { unsigned row, col; cin>>row>>col; vector
        
          cake(row); for (unsigned i = 0; i < row; i++) { cin>>cake[i]; } int cakeCells = 0; for (unsigned i = 0; i < row; i++) { bool eatable = true; for (unsigned j = 0; j < col; j++) { if ('S' == cake[i][j]) eatable = false; } if (eatable) { for (unsigned j = 0; j < col; j++) { if ('.' == cake[i][j]) { cake[i][j] = 'E'; cakeCells++; } } } } for (unsigned j = 0; j < col; j++) { bool eatable = true; for (unsigned i = 0; i < row; i++) { if ('S' == cake[i][j]) eatable = false; } if (eatable) { for (unsigned i = 0; i < row; i++) { if ('.' == cake[i][j]) { cake[i][j] = 'E'; cakeCells++; } } } } cout<