답안 #488662

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
488662 2021-11-19T22:07:23 Z Mihai7218 Red-blue table (IZhO19_stones) C++14
38 / 100
32 ms 1236 KB
#include <iostream>
using namespace std;
int t, n, m, mop, nop;
int main()
{
    cin >> t;
    for (int tc = 1; tc <= t; tc++)
    {
        cin >> n >> m;
        if (n > m)
        {
            cout << max(n+ (m/2)-1+(m%2), (m+n-4+m%2+n%2)) << '\n';
            if (n+ (m/2)-1+(m%2) >= (m+n-4+m%2+n%2))
            {
                mop = (m/2)-1+(m%2);
                for (int i = 1; i <= n; i++)
                {
                    for (int j = 1; j <= m; j++)
                    {
                        if (mop-j >= 0)
                        {
                            cout << '-';
                        }
                        else cout << '+';
                    }
                    cout << '\n';
                }
            }
            else
            {
                mop = n-2+n%2;
                nop = m-2+m%2;
                for (int i = 1; i <= n; i++)
                {
                    for (int j = 1; j <= m; j++)
                    {
                        if (mop - i >= 0)
                        {
                            if (i % 2 == 0)
                            {
                                if ((m/2+1) - j >= 0)
                                {
                                    cout << '+';
                                }
                                else cout << '-';
                            }
                            if (i % 2 == 1)
                            {
                                if (j - (m/2+1) + (1-m%2) >= 0)
                                {
                                    cout << '+';
                                }
                                else cout << '-';
                            }
                        }
                            else cout << '-';
                    }
                    cout << '\n';
                }
            }
        }
        else
        {
            cout << max(m + (n/2)-1+(n%2), (m+n-4+m%2+n%2)) << '\n';
            if ( m + (n/2)-1+(n%2) >= (m+n-4+m%2+n%2))
            {
                mop = (n/2)-1+(n%2);
                for (int i = 1; i <= n; i++)
                {
                    for (int j = 1; j <= m; j++)
                    {
                        if (mop-i >= 0)
                        {
                            cout << '+';
                        }
                        else cout << '-';
                    }
                    cout << '\n';
                }
            }
            else
            {
                mop = n-2+n%2;
                nop = m-2+m%2;
                for (int i = 1; i <= n; i++)
                {
                    for (int j = 1; j <= m; j++)
                    {
                        if (mop - i >= 0)
                        {
                            if (i % 2 == 0)
                            {
                                if ((m/2+1) - j >= 0)
                                {
                                    cout << '+';
                                }
                                else cout << '-';
                            }
                            if (i % 2 == 1)
                            {
                                if (j - (m/2+1) + (1-m%2) >= 0)
                                {
                                    cout << '+';
                                }
                                else cout << '-';
                            }
                        }
                            else cout << '-';
                    }
                    cout << '\n';
                }
            }
        }
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 2 ms 204 KB Output is correct
4 Incorrect 2 ms 332 KB Wrong answer in test 38 5: 40 < 41
# 결과 실행 시간 메모리 Grader output
1 Correct 32 ms 1236 KB Output is correct
2 Correct 25 ms 1104 KB Output is correct
3 Correct 25 ms 1104 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 29 ms 1228 KB Wrong answer in test 6 6: 8 < 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 0 ms 204 KB Output is correct
3 Correct 2 ms 204 KB Output is correct
4 Incorrect 2 ms 332 KB Wrong answer in test 38 5: 40 < 41