【2020杭电多校第八场 1008 Hexagon】题目链接
看到题目正解上面那一堆复杂的东西是不是有些迷茫,那就和我一起来找规律吧!
首先我们看半径是偶数的情况
文章图片
然后是偶数的情况
文章图片
画的好累
是不是很容易就看出其中的蹊跷,规律还是很明显的。
因为不同人的画法不同,所以有不同情况,大体上都差不多。
代码
#include
using namespace std;
int t,n;
void solveji()
{
for(int k=n-2;
k>=1;
k-=2)
{
int a = 4, b = 2;
printf("3");
for(int t=1;
t<=5;
t++)
{
for(int i=1;
i<=k;
i++)
printf("%d%d",a,b);
printf("%d",a);
a++,b++;
if(a > 6) a = 1;
if(b > 6) b = 1;
}
printf("%d",a);
for(int i=1;
i<=k-1;
i++)
printf("%d%d",b,a);
printf("4");
}
printf("\n");
}void solveou()
{
for(int k=n-1;
k>=1;
k-=2)
{
int a = 4, b = 2;
printf("3");
for(int t=1;
t<=5;
t++)
{
if(t == 5 && k == 1) break;
printf("%d",a);
for(int i=1;
i<=k-1;
i++)
printf("%d%d",b,a);
a++,b++;
if(a > 6) a = 1;
if(b > 6) b = 1;
}
if(k != 1)
{
printf("%d",a);
for(int i=1;
i<=k-2;
i++)
printf("%d%d",b,a);
}
if(k == 1)printf("3");
else printf("4");
}
printf("\n");
}int main()
{
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
if(n % 2) solveji();
else solveou();
}
return 0;
}
推荐阅读
- 题解|【HNOI2017】大佬-dalao
- 2019 GDUT Rating Contest #II 这是群题解,七篇!!!
- # 2019 GDUT Rating Contest #I H. Mixing Milk
- # 2019 GDUT Rating Contest #I A. The Bucket List
- # 2019 GDUT Rating Contest #I G. Back and Forth
- 2019 GDUT Winter Personal Training Contest III (Div. 2) A题 QAQ 题解
- 2019 GDUT Winter Personal Training Contest I (Div. 2) A. Protect Sheep
- 题解|题解 | K-ary Heap-2019牛客暑期多校训练营第六场F题
- ACM|[dsu] codeforces 375D. Tree and Queries
- 题解|[BZOJ3817] Sum