結果

提出番号 1758
提出者 moritaoy
言語 C++
提出日時 2018-08-04 13:45:48
問題名 (69)机の配置
結果 AC
点数 100%

テストケース

テストケース 結果 得点 実行時間 メモリ使用量
1 AC 100% 2ms 8304KB
2 AC 100% 2ms 7776KB
3 AC 100% 2ms 7760KB
4 AC 100% 2ms 8416KB
5 AC 100% 2ms 8064KB
6 AC 100% 2ms 8416KB
7 AC 100% 2ms 7248KB
8 AC 100% 2ms 7248KB
9 AC 100% 2ms 8720KB
10 AC 100% 2ms 7904KB
11 AC 100% 1ms 8672KB
12 AC 100% 2ms 8432KB
13 AC 100% 2ms 8720KB
14 AC 100% 2ms 7632KB
15 AC 100% 2ms 8128KB
16 AC 100% 2ms 8080KB
17 AC 100% 1ms 8288KB
18 AC 100% 2ms 8448KB
19 AC 100% 2ms 8480KB
20 AC 100% 3ms 8480KB
21 AC 100% 2ms 8432KB
22 AC 100% 2ms 7776KB
23 AC 100% 2ms 7792KB
24 AC 100% 2ms 8416KB
25 AC 100% 2ms 8416KB
26 AC 100% 2ms 7744KB
27 AC 100% 2ms 7520KB
28 AC 100% 2ms 7824KB
29 AC 100% 2ms 8000KB
30 AC 100% 2ms 8432KB

ソースコード

#include <bits/stdc++.h>
using namespace std;
#define lp(i,n) for(int i=0;i<n;i++)
#define fordebug int hoge;cin>>hoge;
int main(){
  int n,h,w;
  cin>>n>>h>>w;
  char a[10][10];
  lp(i,h){
    lp(j,w){
      cin>>a[j][i];
    }
  }
  int hoge=0;
  vector<int> tate,yoko;
  lp(i,h){
    hoge=0;
    lp(j,w){
      if(a[j][i]=='.') hoge++;
      else{
	if(hoge==0) continue;
	tate.push_back(hoge);
	hoge=0;
      }
    }
    if(hoge==0) continue;
    tate.push_back(hoge);
    hoge=0;
  }
  lp(i,w){
    hoge=0;
    lp(j,h){
      if(a[j][i]=='.') hoge++;
      else{
	if(hoge==0) continue;
	yoko.push_back(hoge);
	hoge=0;
      }
    }
    if(hoge==0) continue;
    yoko.push_back(hoge);
    hoge=0;
  }
  lp(i,n+1){
    if(i==0) continue;
    int memo=0,memo2=0;
    for(int j=0;j!=tate.size();j++){
      memo+=tate[j]/i;
    }
    for(int j=0;j!=yoko.size();j++){
      memo2+=yoko[j]/i;
    }
    cout<<max(memo2,memo)<<endl;
  }
  return 0;
}