QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#606941 | #1266. Visual Cube | ydzr00000 | AC ✓ | 2ms | 3848kb | C++17 | 1.1kb | 2024-10-03 13:07:17 | 2024-10-03 13:07:18 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
char ch[101][101];
const char cube[5][5]={
{'.','.','+','-','+'},
{'.','/','.','/','|'},
{'+','-','+','.','+'},
{'|','.','|','/','.'},
{'+','-','+','.','.'}
};
const bool inc[5][5]={
{0,0,1,1,1},
{0,1,1,1,1},
{1,1,1,1,1},
{1,1,1,1,0},
{1,1,1,0,0}
};
inline void cover(int x,int y)
{
for(int i=0;i<5;i++)
for(int j=0;j<5;j++)
if(inc[i][j])
ch[x+i][y+j]=cube[i][j];
}
inline void solve()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
int R=(b+c)*2+1,C=(a+b)*2+1;
for(int i=1;i<=R;i++)
for(int j=1;j<=C;j++)
ch[i][j]='.';
for(int i=1;i<=c;i++)
{
int u=R-2*(i+1),l=1;
for(int j=1;j<=b;j++)
u-=2,l+=2;
for(int j=1;j<=b;j++)
{
u+=2,l-=2;
int x=u,y=l;
for(int k=1;k<=a;k++)
{
cover(x,y);
y+=2;
}
}
}
for(int i=1;i<=R;i++,puts(""))
for(int j=1;j<=C;j++)
putchar(ch[i][j]);
}
int main(){
// freopen("draw.in","r",stdin);
// freopen("draw.out","w",stdout);
int t;
scanf("%d",&t);
while(t--)
solve();
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 3772kb
input:
2 1 1 1 6 2 4
output:
..+-+ ././| +-+.+ |.|/. +-+.. ....+-+-+-+-+-+-+ .../././././././| ..+-+-+-+-+-+-+.+ ./././././././|/| +-+-+-+-+-+-+.+.+ |.|.|.|.|.|.|/|/| +-+-+-+-+-+-+.+.+ |.|.|.|.|.|.|/|/| +-+-+-+-+-+-+.+.+ |.|.|.|.|.|.|/|/. +-+-+-+-+-+-+.+.. |.|.|.|.|.|.|/... +-+-+-+-+-+-+....
result:
ok 18 lines
Test #2:
score: 0
Accepted
time: 2ms
memory: 3848kb
input:
50 16 19 7 1 8 12 5 15 16 12 9 14 9 2 11 8 11 8 2 1 20 8 16 3 2 7 1 3 17 7 13 13 11 5 9 5 11 10 3 19 4 6 13 17 9 9 17 8 14 3 11 9 4 2 9 6 5 4 9 1 12 8 18 4 7 2 13 3 9 1 13 17 17 11 3 9 2 13 5 7 2 6 18 14 14 14 11 5 12 14 16 7 1 5 19 10 16 9 1 9 8 6 11 7 18 12 20 10 10 16 13 17 12 9 9 9 17 10 2 12 1 ...
output:
......................................+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ...................................../././././././././././././././././| ....................................+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+.+ .................................../././././././././././././././././|/| ...............
result:
ok 1988 lines