Submission #332037
Source Code Expand
#include<iostream>
#include<string>
using namespace std;
#define rep2(x,from,to) for(int x=(from);(x)<(to);(x)++)
#define rep(x,to) rep2(x,0,to)
#define INF 100000
int r,c,k;
string zu[501];
int t1[501][501];
int t2[501][501];
int t3[501][501];
int t4[501][501];
int dp[501][501];
int ans;
int main()
{
cin>>r>>c>>k;
rep(i,r)cin>>zu[i];
rep(i,501)rep(j,501)
{
t1[i][j]=INF;
t2[i][j]=INF;
t3[i][j]=INF;
t4[i][j]=INF;
}
rep(i,r)rep(j,c)
{
if(zu[i][j]=='x')
{
t1[i][j]=0;
continue;
}
if(i==0&&j!=0)
{
t1[i][j]=t1[i][j-1]+1;
}
if(i!=0&&j==0)
{
t1[i][j]=t1[i-1][j]+1;
}
if(i!=0&&j!=0)
{
t1[i][j]=min(t1[i-1][j]+1,t1[i][j-1]+1);
}
}
rep(i,r)rep(j,c)
{
if(zu[r-1-i][j]=='x')
{
t2[r-1-i][j]=0;
continue;
}
if(i==0&&j!=0)
{
t2[r-1-i][j]=t2[r-1-i][j-1]+1;
}
if(i!=0&&j==0)
{
t2[r-1-i][j]=t2[r-i][j]+1;
}
if(i!=0&&j!=0)
{
t2[r-1-i][j]=min(t2[r-i][j]+1,t2[r-1-i][j-1]+1);
}
}
rep(i,r)rep(j,c)
{
if(zu[i][c-1-j]=='x')
{
t3[i][c-1-j]=0;
continue;
}
if(i==0&&j!=0)
{
t3[i][c-1-j]=t3[i][c-j]+1;
}
if(i!=0&&j==0)
{
t3[i][c-1-j]=t3[i-1][c-1-j]+1;
}
if(i!=0&&j!=0)
{
t3[i][c-1-j]=min(t3[i][c-j]+1,t3[i-1][c-1-j]+1);
}
}
rep(i,r)rep(j,c)
{
if(zu[r-1-i][c-1-j]=='x')
{
t4[r-1-i][c-1-j]=0;
continue;
}
if(i==0&&j!=0)
{
t4[r-1-i][c-1-j]=t4[r-1-i][c-j]+1;
}
if(i!=0&&j==0)
{
t4[r-1-i][c-1-j]=t4[r-i][c-1-j]+1;
}
if(i!=0&&j!=0)
{
t4[r-1-i][c-1-j]=min(t4[r-1-i][c-j]+1,t4[r-i][c-1-j]+1);
}
}
int ss;
k--;
rep(i,r)
{
rep(j,c)
{
ss=INF;
ss=min(ss,t1[i][j]);
ss=min(ss,t2[i][j]);
ss=min(ss,t3[i][j]);
ss=min(ss,t4[i][j]);
dp[i][j]=ss;
if(i-k>=0&&j-k>=0&&i+k<r&&j+k<c&&dp[i][j]>k)ans++;
}
}
cout<<ans<<endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - 菱型カウント |
| User | tainohimono |
| Language | C++ (G++ 4.6.4) |
| Score | 100 |
| Code Size | 1926 Byte |
| Status | AC |
| Exec Time | 67 ms |
| Memory | 6128 KiB |
Judge Result
| Set Name | Sample | Subtask1 | Subtask2 | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 30 / 30 | 70 / 70 | ||||||
| Status |
|
|
|
| Set Name | Test Cases |
|---|---|
| Sample | subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt |
| Subtask1 | subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt |
| Subtask2 | subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| subtask0-sample01.txt | AC | 37 ms | 4840 KiB |
| subtask0-sample02.txt | AC | 51 ms | 4788 KiB |
| subtask0-sample03.txt | AC | 36 ms | 4840 KiB |
| subtask1-01.txt | AC | 37 ms | 4788 KiB |
| subtask1-02.txt | AC | 37 ms | 4840 KiB |
| subtask1-03.txt | AC | 37 ms | 4916 KiB |
| subtask1-04.txt | AC | 35 ms | 4912 KiB |
| subtask1-05.txt | AC | 37 ms | 4912 KiB |
| subtask1-06.txt | AC | 33 ms | 4920 KiB |
| subtask1-07.txt | AC | 36 ms | 4916 KiB |
| subtask1-08.txt | AC | 34 ms | 4924 KiB |
| subtask1-09.txt | AC | 37 ms | 4972 KiB |
| subtask1-10.txt | AC | 38 ms | 4960 KiB |
| subtask1-11.txt | AC | 35 ms | 4912 KiB |
| subtask1-12.txt | AC | 37 ms | 4968 KiB |
| subtask1-13.txt | AC | 37 ms | 4952 KiB |
| subtask1-14.txt | AC | 36 ms | 4912 KiB |
| subtask1-15.txt | AC | 36 ms | 4968 KiB |
| subtask1-16.txt | AC | 39 ms | 5036 KiB |
| subtask1-17.txt | AC | 38 ms | 4916 KiB |
| subtask1-18.txt | AC | 37 ms | 4916 KiB |
| subtask1-19.txt | AC | 37 ms | 4964 KiB |
| subtask1-20.txt | AC | 36 ms | 4968 KiB |
| subtask2-01.txt | AC | 45 ms | 5428 KiB |
| subtask2-02.txt | AC | 46 ms | 5548 KiB |
| subtask2-03.txt | AC | 38 ms | 5456 KiB |
| subtask2-04.txt | AC | 49 ms | 5560 KiB |
| subtask2-05.txt | AC | 63 ms | 6068 KiB |
| subtask2-06.txt | AC | 62 ms | 6068 KiB |
| subtask2-07.txt | AC | 64 ms | 6072 KiB |
| subtask2-08.txt | AC | 62 ms | 6072 KiB |
| subtask2-09.txt | AC | 62 ms | 6064 KiB |
| subtask2-10.txt | AC | 64 ms | 6104 KiB |
| subtask2-11.txt | AC | 62 ms | 6072 KiB |
| subtask2-12.txt | AC | 65 ms | 6068 KiB |
| subtask2-13.txt | AC | 64 ms | 6128 KiB |
| subtask2-14.txt | AC | 67 ms | 6120 KiB |
| subtask2-15.txt | AC | 64 ms | 6060 KiB |
| subtask2-16.txt | AC | 64 ms | 6056 KiB |
| subtask2-17.txt | AC | 64 ms | 6108 KiB |
| subtask2-18.txt | AC | 64 ms | 6112 KiB |
| subtask2-19.txt | AC | 63 ms | 6064 KiB |
| subtask2-20.txt | AC | 64 ms | 6048 KiB |