# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
157068 | AKaan37 | Red-blue table (IZhO19_stones) | C++17 | 498 ms | 35348 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//Sani buyuk Osman Pasa Plevneden cikmam diyor.
//FatihSultanMehmedHan
//Abdulhamid Han
//Bismillahirrahmanirrahim
//█▀█─█──█──█▀█─█─█
//█▄█─█──█──█▄█─█▄█
//█─█─█▄─█▄─█─█─█─█
#pragma GCC optimize ("O3")
#pragma GCC target ("sse4")
#include <bits/stdc++.h>
using namespace std;
typedef long long lo;
typedef pair< lo,lo > PII;
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
#define FOR for(int i=1;i<=n;i++)
#define mid ((start+end)/2)
#define ort ((bas+son)/2)
const lo MAX = -1000000000000000000;
const lo MIN = 1000000000000000000;
const lo inf = 1000000000;
const lo KOK = 100000;
const lo LOG = 30;
const lo li = 500005;
const lo mod = 1000000007;
int n,m,b[li],a[li],k,flag,t;
int cev;
string s;
map<int,int> vis[1005];
vector<int> v;
int main(void){
scanf("%d",&t);
while(t--){
cev=0;
int cevap=0;
scanf("%d %d",&n,&m);
FOR vis[i].clear();
if(n>m){
int at=(m+2)/2;
int son=1;
int yes=0;
if(m%2==0 && m!=1 && n!=1)yes=1;
if(m%2==1 && m!=1 && n!=1)yes=2;
for(int i=yes;i<=n;i++){
if(i%2==0){
son=1;
while(son<=at){vis[i][son]=1;son++;}
}
else{
son=m-at+1;
while(son<=m){vis[i][son]=1;son++;}
}
}
for(int j=1;j<=m;j++){
cev=0;
FOR{
if(vis[i][j]==0)cev++;
}
if(cev>n/2)cevap++;
}
for(int j=1;j<=n;j++){
cev=0;
for(int i=1;i<=m;i++){
if(vis[j][i]==1)cev++;
}
//~ cout<<cev<<"**\n"<<endl;
if(cev>m/2)cevap++;
}
printf("%d\n",cevap);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(vis[i][j]==1)printf("+");
else printf("-");
}
printf("\n");
}
}
else{
int at=(n+2)/2;
int son=1;
int yes=0;
if(n%2==0 && m!=1 && n!=1)yes=1;
if(n%2==1 && m!=1 && n!=1)yes=2;
for(int j=yes;j<=m;j++){
if(j%2==0){
son=1;
while(son<=at){vis[son][j]=1;son++;}
}
else{
son=n-at+1;
while(son<=n){vis[son][j]=1;son++;}
}
}
for(int j=1;j<=m;j++){
cev=0;
FOR{
if(vis[i][j]==1)cev++;
}
if(cev>n/2)cevap++;
}
for(int j=1;j<=n;j++){
cev=0;
for(int i=1;i<=m;i++){
if(vis[j][i]==0)cev++;
}
if(cev>m/2)cevap++;
}
printf("%d\n",cevap);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(vis[i][j]==1)printf("-");
else printf("+");
}
printf("\n");
}
}
}
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |