답안 #145882

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
145882 2019-08-21T10:06:26 Z davitmarg Red-blue table (IZhO19_stones) C++17
43 / 100
58 ms 1448 KB
/*DavitMarg*/
#include <iostream>
#include <algorithm>
#include <cmath>
#include <vector>
#include <string>
#include <cstring>
#include <map>
#include <unordered_map>
#include <set>
#include <queue>
#include <iomanip>
#include <stack>
#include <cassert>
#include <iterator>
#include <bitset>
#include <fstream>
#define mod 998244353ll
#define LL long long
#define LD long double
#define MP make_pair
#define PB push_back
#define all(v) v.begin(),v.end()
using namespace std;
 
int t,n,m,ans,rev;
char a[1003][1003],sum[1003];
int main()
{
    cin>>t;
    while(t--)
    {
        rev=0;
        cin>>n>>m;
        if(m<n)
        {
            swap(m,n);
            rev=1;
        }
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                a[i][j]='-';
 
        int k=((m*(n-(n/2+1)))/(m/2+1));
        ans=m+k;
        for(int j=1;j<=m;j++)
            for(int i=1;i<=k;i++)
                if((j%k)+1!=i || k==1)
                    a[i][j]='+';

        
        printf("%d\n",ans);
        if(!rev)
            for(int i=1;i<=n;i++)
            {
                for(int j=1;j<=m;j++)
                    printf("%c",a[i][j]);
                printf("\n");
            }
        else
        {
            for(int j=1;j<=m;j++)
            {
                for(int i=1;i<=n;i++)
                {
                    if(a[i][j]=='+')
                        a[i][j]='-';
                    else
                        a[i][j]='+';
                    
                    printf("%c",a[i][j]);
                }
                printf("\n");
            }
        }
        
 
    }
    
    
	return 0;
}
 
/*

2
1 3
3 3

 
*/
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 4 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 4 ms 376 KB Output is correct
4 Correct 7 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 58 ms 1408 KB in the table A+B is not equal to 116
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 51 ms 1448 KB in the table A+B is not equal to 44
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 4 ms 376 KB Output is correct
4 Correct 7 ms 376 KB Output is correct
5 Incorrect 58 ms 1408 KB in the table A+B is not equal to 116
6 Halted 0 ms 0 KB -