ACM二招补题系列Day1 ||M_切多边形
(还有代码随想录的题没有写呢😭,昨天就考个四级然后玩了一天,结果就断崖式掉进度了😭)
M_切多边形
据学长题解中说,这是一道简答题😶(我画图画了几个小时呢==)
思路
找规律,自己画😭
来看我画的(其实还挺好玩)
画完就发现,
1,切割几边形,最后中间就会出现一个几边形
2,每隔k-1个点连接一条线,那么画完后,就会在中心正n边形的周围出现k层形状,而且每一层都是n
3,以上规律不适用于连接正对面的两个点,(即2*k==n) 比如下面这个样子,此时如果是n边形就是n个小方块
总结规律:数量amount=nk+1(2k!=n)或者amount=n(2*k==n)
#include<stdio.h>
typedef long long int i64;
int main(void)
{
i64 n,k;
scanf("%ld %ld",&n,&k);
i64 ans=0;
if(k*2==n)
{
ans=n;
}
else
{
int min;
if(k>n-k)
{
min=n-k;
}
else
{
min=k;
}
ans=n*min+1;
}
printf("%ld\n",ans);
return 0;
}