QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#504828#9134. Building a Fenceucup-team2307#WA 3ms3632kbC++171.2kb2024-08-04 16:29:472024-08-04 16:29:48

Judging History

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

  • [2024-08-04 16:29:48]
  • 评测
  • 测评结果:WA
  • 用时:3ms
  • 内存:3632kb
  • [2024-08-04 16:29:47]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

#define rep(i, from, to) for (int i = from; i < (to); ++i)
#define all(x) x.begin(), x.end()
#define sz(x) (int)(x).size()
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<int> vi;

bool can(ll a, ll b, ll c, ll sum) {
    return a == sum || b == sum || c == sum || 
            a+b == sum || a+c == sum || b+c == sum ||
                a+b+c == sum;
}

ll solve(ll w, ll h, ll s) {
    if(max(w, h) >= s) {
        return (w + w + h + h + s - 1) / s;
    } 
    if(w + h == s) {
        return 2;
    }
    if(w + w + h + h > 3*s) {
        return 4;
    }
    if(w + w + h + h == 3*s) {
        return 3;
    }
    if(w + w == s || h + h == s) {
        return 3;
    }
    //w, h < s and 2*(w+h) < 3*s
    /*
    5 segments max, 3 sides are covered by 1, but they can't be from same line
    */
    if(can(s-w, s-w, s-h, h) || can(s-h, s-h, s-w, w))
        return 3;
    return 4;
}
int main() {
    ios_base::sync_with_stdio(0);
    cout.tie(0);
    int T;
    cin >> T;
    while(T--) {
        ll w, h, s;
        cin >> w >> h >> s;
        cout << solve(w, h, s) << '\n';
    }
}

详细

Test #1:

score: 100
Accepted
time: 0ms
memory: 3632kb

input:

7
7 9 4
1 1 2
1 1 4
4 6 2
3 3 5
10 6 4
1 11 5

output:

8
2
4
10
4
8
5

result:

ok 7 numbers

Test #2:

score: -100
Wrong Answer
time: 3ms
memory: 3576kb

input:

8000
1 1 1
1 1 2
1 1 3
1 1 4
1 1 5
1 1 6
1 1 7
1 1 8
1 1 9
1 1 10
1 1 11
1 1 12
1 1 13
1 1 14
1 1 15
1 1 16
1 1 17
1 1 18
1 1 19
1 1 20
1 2 1
1 2 2
1 2 3
1 2 4
1 2 5
1 2 6
1 2 7
1 2 8
1 2 9
1 2 10
1 2 11
1 2 12
1 2 13
1 2 14
1 2 15
1 2 16
1 2 17
1 2 18
1 2 19
1 2 20
1 3 1
1 3 2
1 3 3
1 3 4
1 3 5
1 3...

output:

4
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
6
3
2
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
8
4
3
2
4
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
10
5
4
3
2
4
4
3
4
4
4
4
4
4
4
4
4
4
4
4
12
6
4
3
3
2
4
4
4
3
4
4
4
4
4
4
4
4
4
4
14
7
5
4
3
3
2
4
4
4
4
3
4
4
4
4
4
4
4
4
16
8
6
4
4
3
3
2
4
4
4
4
4
3
4
4
4
4
4
4
18
9
6
5
4
3
3
3...

result:

wrong answer 43rd numbers differ - expected: '4', found: '3'