1487 C. Minimum Ties

2024-04-12 18:38
文章标签 minimum ties 1487

本文主要是介绍1487 C. Minimum Ties,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题意

n支队伍,两两之间有一场比赛,胜利者+3分,平局都+1分,失败+0分,如何构造出每队的得分都相同且让平局的场次尽可能的小

解析

每个人输赢必须相同,因此考虑对半思考问题。

对于队伍数目为 n n n,分类讨论

如果是奇数的个数,那就非常好办了,取窗口大小为 [ n 2 ] [\frac{n}{2}] [2n]向后滑动,处在窗口的前一般部分是失败后一半是胜利

如果是偶数的话,可以让窗口中间的数字平局,前一半失败,后一半的队伍胜利。

代码

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;void solve(){int n;cin>>n;if(n%2==0){int mid=n/2;for(int i=1;i<n;i++){for(int j=i+1;j<=n;j++){if(j==i+mid){cout<<0<<" ";}else if(j<i+mid){cout<<1<<" ";}else{cout<<-1<<" ";}}}}else{int v=n/2;//前v个 1 超过V个-1 窗口大小for(int i=1;i<n;i++){for(int j=i+1;j<=n;j++){if(j-i<=v)cout<<1<<" ";else cout<<-1<<" ";}}}puts("");
}
int main(){int t;cin>>t;while(t--){solve();}
}

这篇关于1487 C. Minimum Ties的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897924

相关文章

【Hdu】Minimum Inversion Number(逆序,线段树)

利用线段树在nlogn的时间复杂度内求一段数的逆序。 由于给的序列是由0 ~ n -1组成的,求出初始的逆序之后可以递推出移动之后的逆序数。 #include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;const in

[LeetCode] 64. Minimum Path Sum

题:https://leetcode.com/problems/minimum-path-sum/description/ 题目 Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers

Path With Maximum Minimum Value

Given a matrix of integers A with R rows and C columns, find the maximum score of a path starting at [0,0] and ending at [R-1,C-1]. The score of a path is the minimum value in that path.  For example

路径优化 minimum-snap(对A*的全局路径进行优化)

实现效果: 介绍: 使用Astar进行路径规划,使用minimum-snap进行路径优化处理,建议参考文章: 【附源码和详细的公式推导】Minimum Snap轨迹生成,闭式求解Minimum Snap问题,机器人轨迹优化,多项式轨迹路径生成与优化-CSDN博客 参考代码: AllocateTime:zm0612 Minimum-Snap https://github.com/zm0

leetcode209. Minimum Size Subarray Sum

题目 Given an array of positive integers nums and a positive integer target, return the minimal length of a subarray whose sum is greater than or equal to target. If there is no such subarray, return 0

Leetcode 3273. Minimum Amount of Damage Dealt to Bob

Leetcode 3273. Minimum Amount of Damage Dealt to Bob 1. 解题思路2. 代码实现 题目链接:3273. Minimum Amount of Damage Dealt to Bob 1. 解题思路 这一题代码并不复杂,关键就是想明白为啥。 我直接的一个思路就是贪婪算法,考察任意两个怪 i , j i, j i,j之间处理的先后关系,其结果

Code Practice Journal | Day56_Graph06 Minimum Spanning Tree

1. 概念 生成树(Spanning Tree) 给定的图中选择一些边,使边连接图中所有节点但不成环,形成的子图即为生成树。 最小生成树(MST) 所有可能的生成树中,权重和最小的生成树即为最小生成树。 2. 算法 2.1 Kruskal 1、基本思想 对边按权重排序,注意加入边并保证不成环: 使用并查集来管理连接节点并检查是否成环 2、步骤: 对所有边按权重升序排列 初始化

leetcode 刷题之路 40 Minimum Depth of Binary Tree

Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node. 求二叉树的最小深度,最小深度定义为从根节点到最近的叶子节点经过的节点个

hdu Minimum Transport Cost(按字典序输出路径)

http://acm.hdu.edu.cn/showproblem.php?pid=1385 求最短路,要求输出字典序最小的路径。 spfa:拿一个pre[]记录前驱,不同的是在松弛的时候,要考虑和当前点的dis值相等的情况,解决的办法是dfs找出两条路径中字典序较小的,pre[]去更新。把路径当做字符串处理。 我只用之前的pre去更新当前点,并没考虑到起点到当前点的整个路径,其

LeetCode | Find Minimum in Rotated Sorted Array

Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2). Find the minimum element. You may assume no duplicate exists in the arra