• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

[CF1487C]MinimumTies-构造

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

[CF1487C] Minimum Ties - 构造

Description

这场比赛会有 \(n\) 个球队参与,每个球队都会与其他的所有球队对决正好一场。对于每局比赛,如果分出胜负则胜者得 \(3\) 分,负者得 \(0\) 分,如果没有分出胜负就双方各得 \(1\) 分。构造一种局面,使得所有球队的积分完全相同,同时平局数最小。

Solution

如果 n 是奇数,那么每个人恰好赢等于输次数即可

如果 n 是偶数,我们可以让 2i-1 和 2i 平一场,这样剩下的部分每个人恰好赢等于输次数即可

#include <bits/stdc++.h>
using namespace std;

#define int long long

signed main()
{
    ios::sync_with_stdio(false);

    int t;
    cin >> t;

    while (t--)
    {
        int n;
        cin >> n;

        if (n & 1)
        {
            for (int i = 0; i < n * (n - 1) / 2; i++)
            {
                if (i & 1)
                    cout << 1 << " ";
                else
                    cout << -1 << " ";
            }
        }
        else
        {
            for (int i = 0; i < n; i++)
            {
                for (int j = i + 1; j < n; j++)
                {
                    if (i % 2 == 0 && j == i + 1)
                        cout << 0 << " ";
                    else if ((i + j) & 1)
                        cout << 1 << " ";
                    else
                        cout << -1 << " ";
                }
            }
        }
        cout << endl;
    }
}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#的in/out关键字与协变逆变发布时间:2022-07-13
下一篇:
C++读取XML,tinyXml的使用发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap