이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
int t,n,m,pos,num,anss1,anss2,ct1[1005],ct2[1005];
char ans1[1005][1005],ans2[1005][1005];
int main(){
ios::sync_with_stdio(false);
cin >> t;
while (t--){
cin >> n >> m;
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++){
ans1[i][j]='+';
}
ct1[i]=0;
}
pos=1; anss1=n;
for (int i=1;i<=(n-1)/2*m/(n/2+1);i++){
for (int j=1;j<=n/2+1;j++){
if (ct1[pos]+1 >= m/2+1)
goto out;
ans1[pos][i]='-';
ct1[pos]++;
pos++;
if (pos == n+1)
pos=1;
}
anss1++;
}
out:;
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++){
ans2[i][j]='-';
ct2[j]=0;
}
}
pos=1; anss2=m;
for (int i=1;i<=(m-1)/2*n/(m/2+1);i++){
for (int j=1;j<=m/2+1;j++){
if (ct2[pos]+1 >= n/2+1)
goto out2;
ans2[i][pos]='+';
ct2[pos]++;
pos++;
if (pos == m+1)
pos=1;
}
anss2++;
}
out2:;
cout << max(anss1,anss2) << "\n";
if (anss1 > anss2){
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++){
cout << ans1[i][j];
}
cout << "\n";
}
}
else
{
for (int i=1;i<=n;i++){
for (int j=1;j<=m;j++){
cout << ans2[i][j];
}
cout << "\n";
}
}
}
return 0;
}
# | 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... |