QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#119836#1993. Equilateral Trianglesbashkort#0 0ms0kbC++201.5kb2023-07-05 21:41:542023-07-05 21:41:54

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-07-05 21:41:54]
  • 评测
  • 测评结果:0
  • 用时:0ms
  • 内存:0kb
  • [2023-07-05 21:41:54]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;
using ll = long long;

constexpr int N = 301;

int a[N * 2][N * 2], c[N * 2][N * 2];

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

#ifndef __APPLE__
    freopen("triangles.in", "r", stdin);
    freopen("triangles.out", "w", stdout);
#endif

    int n;
    cin >> n;

    vector<pair<int, int>> cows;

    for (int i = 0; i < n; ++i) {
        string s;
        cin >> s;
        for (int j = 0; j < n; ++j) {
            if (s[j] == '*') {
                cows.push_back({i + j, i - j + n});
            }
        }
    }

    int ans = 0;

    for (int t = 0; t < 4; ++t) {
        memset(a, 0, sizeof(a)), memset(c, 0, sizeof(c));
        for (auto &[x, y] : cows) {
            a[x][y] = c[x][y] = 1;
        }
        for (int i = 0; i < 2 * n; ++i) {
            for (int j = 1; j < 2 * n; ++j) {
                a[i][j] += a[i][j - 1];
            }
        }
        for (int len = 1; len <= 2 * (n - 1); ++len) {
            for (auto [x, y] : cows) {
                if (y + len < 2 * n && x - len >= 0) {
                    int now = c[x][y + len] * (a[x - len][y + len - 1] - (y == 0 ? 0 : a[x - len][y - 1]));
                    ans += now;
                }
            }
        }
        for (auto &[x, y] : cows) {
            int i = x, j = y;
            x = j, y = 2 * n - 1 - i;
        }
    }

    cout << ans << '\n';

    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Dangerous Syscalls

input:

3
*..
.*.
*..

output:


result:


Test #2:

score: 0
Dangerous Syscalls

input:

50
*****.*********.******.*******.********.*.***.****
**.*****.*..******************.*.****.***.********
********.**.****.**.*******..*******.*..*.********
*****.**.****.********.*.**.*****.****.*.*********
*************.*.*.****.*****.*.*.**.***********.*.
******..*.**************.*********.*******...

output:


result:


Test #3:

score: 0
Dangerous Syscalls

input:

75
********..**...*********..******.*********************.**.**********.*.****
*******.**.***********************..*..***.****.*********...**********.*.*.
********.*********.**.******.***..*****.*************.*.******.*****...*.**
*****.****.**.***.****.***********************.****...********.******...

output:


result:


Test #4:

score: 0
Dangerous Syscalls

input:

100
.********.****.**.*******.*********..*.**************.**...***..*..**..**.*.*****..*.**.***.***.*.**
**************.**.****.**********.**********************.******.*****.***.*..****.**.*****.****.****
*********.*****.**.**..******.******.*****..**.**.***********.*******.******.*..**.*****.*****...

output:


result:


Test #5:

score: 0
Dangerous Syscalls

input:

125
.***************.*****.***.*.**.*.****....**.**.***.****.**.*.**.************.******..******.**********.*****************.***
...********..***.***.******.*********.*****.*.***.****.*****.**********.**.****.*.*******.*****.****.******.*************.*.*
*.*.**.*****.*.****..***.**.****************...

output:


result:


Test #6:

score: 0
Dangerous Syscalls

input:

150
*******..**.***********************..*****.*.*********.************************.***.**.*.*.*********.*******..***.****.*.*..*.*.*******.**********.***
*******************..*.*.***..***.***.***.************.******.**.*.*******.*******..*.**.****.***.*****..******.**.*****.*****************..**.**...

output:


result:


Test #7:

score: 0
Dangerous Syscalls

input:

175
*******....********.*.****..**********************.*.**..***.***..**.**...********..***.****.*****.*********....****.*********.**.**********.*****.***..****.*.**.***********.*
***.**.*************************..******.*****.****..******...***.*******.*..***....*****.**..*.************.***.*.***.....

output:


result:


Test #8:

score: 0
Dangerous Syscalls

input:

200
**.*******.*****************.******..*****.***.*.************.**********..****.**********..***.**********.**.****.***.....*****..*******.*..***.***.**.*****.**..*******.****..*****************.*******
..**.*.********.*.****.*.*********.**.**.****.**.*******.****.*.********.**.***.*.******.*****....

output:


result:


Test #9:

score: 0
Dangerous Syscalls

input:

225
*.********.****.*****.****.**..*.**..******.**.*.**********.*****.*****.***.*****.*.***.**.***..***.**.*******..**.**.*****..*.*******.****..***.*******.**..******.***********.************.****************.*.***.***.******.**
************.***.***.*.********.****..*.***.*****..***.**********.****...

output:


result:


Test #10:

score: 0
Dangerous Syscalls

input:

250
.*.********.*.**..*******.*...*******.************..***************.*.**.***.**.**.******************.*****.****.****..****.*.*..**************.*..*..**.**.**.****.****.***.**********.*..*******.************.*.****.*..*****.***.*.*..***.*********..**
***.**********.*.****.*******.*.**.******.***...

output:


result:


Test #11:

score: 0
Dangerous Syscalls

input:

275
********..**...*.********.**************************.*.******.*...********.*****.**.*******.**.***************.********.**..*.**********.**...*************.**.*****..*******.***.***.****.**.****.*.***.**.*******.*.*****.****.**.*******.*********.**.**.....**...**.********.*.
************.**.**.*...

output:


result:


Test #12:

score: 0
Dangerous Syscalls

input:

300
******.*************.**.***..**...****..*****.**.****.*.**.*********.***.**********.**.***.*******..****.****.*.**...***...****.**.***************.*********.*.*..**.**.****.***..****.*******.***.*.***.**...*..***.****.*.***.**.************..*.*.*********.**...**********.********..*..*.********.....

output:


result:


Test #13:

score: 0
Dangerous Syscalls

input:

300
*..*******.******.*****************.*********.********..********.******.*.*..****..*********************..****.**.**.***.*****...***.*************.*.*..****.***.**.*..*.*..************.***.**.**.************.*****.*****..*.*****.*.*.****.********.*****..**.*..*.***..*.***..***.*.********.******....

output:


result:


Test #14:

score: 0
Dangerous Syscalls

input:

300
**.***.*.**********.***..***..********.*****.*******.**.******.*************..****.*..********.***.***.*********.*****.****.*****.***...*.*******.*.****.**********.*****.*..***.*****.*******..*****.******..*.*.*.***...***..**.*******.*..*.*****..*.**..**********.*.**..*****..*****...******.***.*...

output:


result:


Test #15:

score: 0
Dangerous Syscalls

input:

300
***.********.*..******.********..******..***************.****.*.***..***.***********..******.***.*********.*.**********..******.**.*.*****.***..*.*.*...******.**.*****.***.****************.******..**********.***..*.**.********.**.******.******..****.*.***.**************..**.*.****.***.**********...

output:


result: