51nod小c的多边形(找规律(构造))

xiaoxiao2021-02-28  87

小C的多边形   .  (命题人) 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 小C偶然发现了一个奇妙的n个点的多边形。现在你需要给外圈的边标记上1~n-1,里圈的边也标记上1~n-1,使得对于一个外圈相邻点与中间点构成的三角形的边权之和都相等。 图中带三角形的三个点构成的三角形的边权都要相等。 你需要输出一种标记方案。(如果不存在就输出0) Input 一共一行。 第一行,有一个n(4<=n<=1,000,000)。 Output 第一行n-1个数表示顺时针方向外圈的的边权(ai)。 第二行n-1个数表示顺时针方向里圈的的边权(bi)。 并且a1和b1,b2构成第1个三角形,a2和b2,b3构成第2个三角形....,an-1和bn-1,b1构成第n-1个三角形。具体请参看样例! Input示例 4 Output示例 1 2 3

2 3 1

//把1插在1和n-1之间,其他的顺推,三个之和为3*n/2 #include<cstdio> #include<iostream> using namespace std; int n; char s[20]; void print(int x){ int p=0; while(x) s[p++]=x+'0',x/=10; while(p) putchar(s[--p]); } int main(){ scanf("%d",&n); if(n%2) { printf("0"); return 0; } for(int i=1;i<n;i++) { print(i); putchar(' '); } putchar('\n'); int t=3*n/2; int j=t-(n-1)-1; for(int i=1;i<n-1;i++) { print(j); j=t-i-j; putchar(' '); } putchar('1'); return 0; }

转载请注明原文地址: https://www.6miu.com/read-57371.html

最新回复(0)