# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
992880 | 2024-06-05T08:04:39 Z | vivkostov | Red-blue table (IZhO19_stones) | C++14 | 19 ms | 2140 KB |
#include<bits/stdc++.h> #define endl "\n" using namespace std; void speed() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); } int t,n,m,h; char a1,a2; string s[1005]; void print(int br) { cout<<br<<endl; if(h) { for(int i=1; i<=m; i++) { for(int j=1; j<=n; j++) { cout<<s[j][i-1]; } cout<<endl; } return; } for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) { cout<<s[i][j-1]; } cout<<endl; } } void fil(int i) { for(int j=1;j<=m;j++)s[i]+=a1; } void fila2(int i,int st) { int gr=(((m-1)/2)*n)/(n/2+1); if(gr==0)return; for(int j=1;j<=(n-1)/2;j++) { s[i][st-1]=a2; st--; if(st<m-gr)st=m; } } void old() { int br=0; if(n==m&&m>=5) { for(int i=1; i<=(n-1)/2; i++) { for(int j=1; j<=m/2+1; j++) { s[i]+=a1; } for(int j=m/2+2; j<=m; j++) { s[i]+=a2; } br++; } for(int i=(n-1)/2+1; i<=n-2; i++) { for(int j=1; j<=(m-1)/2; j++) { s[i]+=a2; } for(int j=(m-1)/2+1; j<=m; j++) { s[i]+=a1; } br++; } for(int i=1; i<=m; i++) { s[n-1]+=a2; s[n]+=a2; } br+=((m-1)/2)*2; } //if(false); else { for(int i=1; i<=n; i++) { for(int j=1; j<=m/2+1; j++) { s[i]+=a1; } for(int j=m/2+2; j<=m; j++) { s[i]+=a2; } br++; } br+=(m-1)/2; } print(br); } void resheven() { old; return; int br=n+(((m-1)/2)*n)/(n/2+1),pos=m,gr=(((m-1)/2)*n)/(n/2+1); //cout<<(((m-1)/2)*n)/(n/2+1)<<endl; for(int i=1;i<=n;i++) { fil(i); fila2(i,pos); pos--; if(pos<=m-gr)pos=m; } print(br); } void resh() { int br=0; for(int i=1; i<=(n-1)/2; i++) { for(int j=1; j<=m/2+1; j++) { s[i]+=a1; } for(int j=m/2+2; j<=m; j++) { s[i]+=a2; } br++; } for(int i=(n-1)/2+1; i<=n-1; i++) { for(int j=1; j<=(m-1)/2; j++) { s[i]+=a2; } for(int j=(m-1)/2+1; j<=m; j++) { s[i]+=a1; } br++; } if(m>2) { for(int i=1; i<=m; i++) { s[n]+=a2; } br+=((m-1)/2)*2; } else { for(int i=1; i<=m; i++) { s[n]+=a1; } br++; } print(br); } void read() { cin>>t; for(int z=1; z<=t; z++) { cin>>n>>m; if(n<m) { swap(n,m); a1='-'; a2='+'; h=1; } else { a1='+'; a2='-'; } if(n%2==0)resheven(); else resh(); h=0; for(int i=1; i<=n; i++)s[i].clear(); } } int main() { speed(); read(); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Output is correct |
2 | Incorrect | 0 ms | 344 KB | invalid character |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 348 KB | Wrong answer |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Output is correct |
2 | Incorrect | 0 ms | 344 KB | invalid character |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 19 ms | 1372 KB | Output is correct |
2 | Correct | 17 ms | 2140 KB | Output is correct |
3 | Correct | 17 ms | 2136 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 10 ms | 860 KB | Wrong answer |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Output is correct |
2 | Incorrect | 0 ms | 344 KB | invalid character |
3 | Halted | 0 ms | 0 KB | - |