Submission #119379

#TimeUsernameProblemLanguageResultExecution timeMemory
119379ryanseeStrah (COCI18_strah)C++14
22 / 110
1080 ms19920 KiB
#include "bits/stdc++.h" using namespace std; #define FAST ios_base::sync_with_stdio(false); cin.tie(0); #define LLINF 1e18//1234567890987654321 #define INF 1234567890 #define pb push_back #define ins insert #define f first #define s second #define db 0 #define EPS (1e-7) //0.0000001 the value #define PI (acos(-1)) #define MAXN 100006 #define MAXK 26 #define MAXX 15000006 #define ll int #define rep0(kk, l1, l2)for(ll kk = l1; kk < l2; kk++) #define rep1(kk, l1, l2)for(ll kk = l1; kk <= l2; kk++) #define forit(it, A) for(set<ll>::iterator it = A.begin(); it != A.end(); it++) #define mmst(x, v) memset((x), v, sizeof ((x))); #define bg(ms) (*ms.begin()) #define ed(ms) (*prev(ms.end(), 1)) #define addedge(a, b, c, v) v[(a)].pb(pi((b), (c))); v[(b)].pb(pi((a), (c))) #define ph push #define btinpct(x) __builtin_popcountll(x) #define p2(x) (1LL<<(x)) #define all(x) (x).begin(), (x).end() #define lbd(x, y) lower_bound(all(x), y) #define ubd(x, y) upper_bound(all(x), y) typedef pair <ll, ll> pi; typedef pair <ll, pi> spi; typedef pair <pi, pi> dpi; ll n, m, sum[2006][2006]; long long ans; char grid[2006][2006]; ll sumup(ll a, ll b, ll c, ll d) { return sum[c][d] - sum[c][b-1] - sum[a-1][d] + sum[a-1][b-1]; } int main() { FAST cin >> n >> m; for(ll i = 1; i <= n; i++) { for(ll j = 1; j <= m; j++) { cin >> grid[i][j]; sum[i][j] = sum[i-1][j] + sum[i][j-1] - sum[i-1][j-1] + (grid[i][j] == '#'); } } for(ll i = 1; i <= n; i++) { for(ll j = 1; j <= m; j++) { if(grid[i][j] == '#')continue; for(ll nx = i; nx <= n; nx++) { for(ll ny = j; ny <= m; ny++) { if(grid[nx][ny] == '#')continue; if(sumup(i, j, nx, ny) == 0) { ans += (abs(i-nx)+1)*(abs(j-ny)+1); // if(nx == i && ny == j)ans -= 1; } } } } } cout << ans << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...