Submission #602172

#TimeUsernameProblemLanguageResultExecution timeMemory
602172OzyRed-blue table (IZhO19_stones)C++17
38 / 100
28 ms2048 KiB
#include <iostream> #include <bits/stdc++.h> using namespace std; #define rep(i,a,b) for (int i = (a); i <= (b); i++) #define repa(i,a,b) for (int i = (a); i >= (b); i--) #define lli long long int #define debug(a) cout << #a << " = " << a << endl #define debugsl(a) cout << #a << " = " << a << ", " #define MAX 1000 lli t,fil,col,a,b,res,c,f,x; char arr[MAX+2][MAX+2]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> t; rep(i,1,t) { cin >> fil >> col; a = 0; b = 0; if (fil&1) a++; else a += 2; if (col&1) a++; else a += 2; b = min(fil,col); c = b; b = (b-1)/2; c -= b; res = fil+col; if (c <= a) { res -= c; //solucion de bruta if (col > fil) { rep(j,1,col) { rep(i,1,fil) { if (i <= b) arr[i][j] = '+'; else arr[i][j] = '-'; } } } else { rep(i,1,fil) { rep(j,1,col) { if (j <= b) arr[i][j] = '-'; else arr[i][j] = '+'; } } } } else { res -= a; f = fil; if (fil&1) f--; else f -= 2; c = col; if (col&1) c--; else c -= 2; rep(i,1,f) { rep(j,1,c) { x = i+j; if (x&1) arr[i][j] = '+'; else arr[i][j] = '-'; } } rep(i,1,f) { rep(j,c+1,col) arr[i][j] = '+'; } rep(j,1,c) { rep(i,f+1,fil) arr[i][j] = '-'; } rep(i,f+1,fil) { rep(j,c+1,col) arr[i][j] = '+'; } } cout << res << "\n"; rep(i,1,fil) { rep(j,1,col) cout << arr[i][j]; cout << "\n"; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...