The Great Team

来源:互联网 发布:阿里云存储 价格 编辑:程序博客网 时间:2024/03/29 18:29

The Great Team

这里写图片描述
.
.
题意:给n给点,要求你给出任意一种连接方案,使得没有三个点有同样的度数
.
.
解法:其实仔细思考很简单,从n=2开始递推,如果n为奇数就不作处理,n为偶数就与前面所有点连一条边。这样可以保证只有第一第二个点度数相同,如果来到奇数位置,多一个度数为0的点,到达偶数时前面所有点的度数加1,而偶数位置那个点的度数一定为当前最大值,所以这样递推没有任意三个点的度数相同。
.
.

#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;int n, m, a[40000][2] = {0};int main() {    cin >> n;    m = 1;    a[1][0] = 1;    a[1][1] = 2;    for (int i = 3; i <= n; i++) {        if (i%2 == 1) continue;        for (int j = 1; j < i; j++) {            m++;            a[m][0] = i;            a[m][1] = j;        }    }    cout << m << endl;    for (int i = 1; i <= m; i++)        cout << a[i][0] << " " << a[i][1] << endl;}
0 0
原创粉丝点击