QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#251341#7637. Exactly Three NeighborsikefumyWA 0ms3852kbC++203.7kb2023-11-14 16:10:302023-11-14 16:10:31

Judging History

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

  • [2023-11-14 16:10:31]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3852kb
  • [2023-11-14 16:10:30]
  • 提交

answer

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define db double
#define pii pair<int,int>
#define pli pair<ll,int>
#define pil pair<int,ll>
#define pll pair<ll,ll>
#define ti3 tuple<int,int,int>
#define int128 __int128_t
#define pii128 pair<int128,int128>
const int inf = 1 << 30;
const ll linf = 1e18;
const ll mod = 1e9 + 7;
const db EPS = 1e-10;
const db pi = acos(-1);
template<class T> bool chmin(T& x, T y){
    if(x > y) {
        x = y;
        return true;
    } else return false;
}
template<class T> bool chmax(T& x, T y){
    if(x < y) {
        x = y;
        return true;
    } else return false;
}

// overload macro
#define CAT( A, B ) A ## B
#define SELECT( NAME, NUM ) CAT( NAME, NUM )

#define GET_COUNT( _1, _2, _3, _4, _5, _6 /* ad nauseam */, COUNT, ... ) COUNT
#define VA_SIZE( ... ) GET_COUNT( __VA_ARGS__, 6, 5, 4, 3, 2, 1 )

#define VA_SELECT( NAME, ... ) SELECT( NAME, VA_SIZE(__VA_ARGS__) )(__VA_ARGS__)

// rep(overload)
#define rep( ... ) VA_SELECT(rep, __VA_ARGS__)
#define rep2(i, n) for (int i = 0; i < int(n); i++)
#define rep3(i, a, b) for (int i = a; i < int(b); i++)
#define rep4(i, a, b, c) for (int i = a; i < int(b); i += c)

// repll(overload)
#define repll( ... ) VA_SELECT(repll, __VA_ARGS__)
#define repll2(i, n) for (ll i = 0; i < (ll)(n); i++)
#define repll3(i, a, b) for (ll i = a; i < (ll)(b); i++)
#define repll4(i, a, b, c) for (ll i = a; i < (ll)(b); i += c)

// rrep(overload)
#define rrep( ... ) VA_SELECT(rrep, __VA_ARGS__)    
#define rrep2(i, n) for (int i = n - 1; i >= 0; i--)
#define rrep3(i, a, b) for (int i = b - 1; i >= a; i--)
#define rrep4(i, a, b, c) for (int i = b - 1; i >= a; i -= c)

// rrepll(overload)
#define rrepll( ... ) VA_SELECT(rrepll, __VA_ARGS__)
#define rrepll2(i, n) for (ll i = (ll)(n) - 1; i >= 0ll; i--)
#define rrepll3(i, a, b) for (ll i = b - 1; i >= (ll)(a); i--)
#define rrepll4(i, a, b, c) for (ll i = b - 1; i >= (ll)(a); i -= c)

// for_earh
#define fore(e, v) for (auto&& e : v)

// vector
#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()

int main() {
    cin.tie(nullptr);
    ios_base::sync_with_stdio(false);
    cout << fixed << setprecision(20);
    int p, q, g;
    cin >> p >> q;
    g = gcd(p, q);
    p /= g, q/= g;
    if (3 * p <= 2 * q) {
        int h = 1, w = 2 * q;
        while ((3 * w * p) / (2 * q) > w) {
            w += 2 * q;
        }
        string S(w, '.');
        rep (i, (w * p) / (2 * q)) {
            int j = i * 3;
            S[j] = S[j + 1] = '#';
        }
        cout << h << ' ' << w << '\n';
        cout << S << '\n';
    } else if (4 * p <= 3 * q) {
        int h = 4, w = 2 * q;
        while (true) {
            int rem = (h * w) * (2 * p - q) / (2 * q);
            if (rem % 2 || (rem / 2) % 2 || rem > w) w += 2 * q;
            else break;
        }

        vector<string> S(4, string(w, '.'));
        int rem = (h * w) * (2 * p - q) / (2 * q);
        rep (i, rem / 2) {
            int j = i * 2;
            rep (k, 4) S[k][j] = '#';
            j++;
            if (i % 2) S[0][j] = S[3][j] = '#';
            else S[1][j] = S[2][j] = '#';
        }
        rep (j, rem, w) {
            rep (k, 4) {
                S[k][j] = S[k][j - 1];
            }
        }

        cout << h << ' ' << w << '\n';
        rep (i, 4) cout << S[i] << '\n';
    } else if (p * 5 == q * 4) {
        cout << "5 5\n";
        cout << "###.#\n";
        cout << ".####\n";
        cout << "##.##\n";
        cout << "####.\n";
        cout << "#.###\n";
    } else {
        cout << -1 << ' ' << -1 << '\n';
    }
}

詳細信息

Test #1:

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

input:

2 3

output:

1 6
##.##.

result:

ok good solution

Test #2:

score: 0
Accepted
time: 0ms
memory: 3556kb

input:

1 1

output:

-1 -1

result:

ok no solution

Test #3:

score: 0
Accepted
time: 0ms
memory: 3852kb

input:

3 4

output:

4 8
#.###.##
###.###.
###.###.
#.###.##

result:

ok good solution

Test #4:

score: 0
Accepted
time: 0ms
memory: 3812kb

input:

3 5

output:

1 10
##.##.##..

result:

ok good solution

Test #5:

score: 0
Accepted
time: 0ms
memory: 3600kb

input:

4 5

output:

5 5
###.#
.####
##.##
####.
#.###

result:

ok good solution

Test #6:

score: 0
Accepted
time: 0ms
memory: 3560kb

input:

7 10

output:

4 20
#.###.###.###.######
###.###.###.###.....
###.###.###.###.....
#.###.###.###.######

result:

ok good solution

Test #7:

score: 0
Accepted
time: 0ms
memory: 3564kb

input:

5 7

output:

4 14
#.###.###.####
###.###.###...
###.###.###...
#.###.###.####

result:

ok good solution

Test #8:

score: -100
Wrong Answer
time: 0ms
memory: 3652kb

input:

7 9

output:

-1 -1

result:

wrong answer you didn't find a solution but jury did