每日一题1217:换位置

简介: 题目描述:M个人围成一圈,每分钟相邻的两个人可以交换位置(只能有一对交换)。求使M个人的顺序颠倒(即每个人左边相邻的人换到右边,右边相邻的人换到左边)所需的最少时间(分钟数)。

题目描述:

M个人围成一圈,每分钟相邻的两个人可以交换位置(只能有一对交换)。求使M个人的顺序颠倒(即每个人左边相邻的人换到右边,右边相邻的人换到左边)所需的最少时间(分钟数)。

输入:

第一行为测试数据的组数n,以后n行中每行为一个小于32767的正整数,表示M

输出:

对于每组测试数据,输出一个数,表示最少需要的分钟数。

样例输入:

3

4

5

6

样例输出:

2

4

6

分析:这种题,咋说来,很不好想,

源码:(有需要自取)

include <stdio.h>

int main(void){

int m,n;
scanf("%d",&n);
while(n>0){
    scanf("%d",&m);
if(m%2==0){
printf("%d\n",(m/2)*(m/2-1));
    }else{
printf("%d\n",(m-1)*(m-1)/4);
    }
    n--;
}
return 0;

}

目录
相关文章
|
1月前
Leecode之面试题消失的数字
Leecode之面试题消失的数字
|
1月前
每日一题——找到消失的数字
每日一题——找到消失的数字
|
1月前
|
算法 Java
刷题专栏(二十八):找到所有数组中消失的数字
刷题专栏(二十八):找到所有数组中消失的数字
105 4
|
存储 自然语言处理 索引
Leecode 面试题62. 圆圈中最后剩下的数字
Leecode 面试题62. 圆圈中最后剩下的数字
53 0
|
Java Python
leetcode每日一题.面试题62:圆圈中最后剩下的数字
leetcode每日一题.面试题62:圆圈中最后剩下的数字
47 0
|
存储 机器学习/深度学习
二叉树详解一万字(基础版)看着一篇就够了(上))
树的结构是一种非线性的数据结构,它是由n(n>=0)个节点组成的一个有层次的关系集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说他是根朝上,而叶朝下。
82 0
二叉树详解一万字(基础版)看着一篇就够了(下)
对于堆的调整相当于是对数组的一种调整,将数组的首地址传进来,要调整的数组的长度,相当于是退出的循环条件,向下传给进来parent(root),向上传给child(size-1),然后再用一个表示另外一个。将参数传进来之后进行比较,先比较两个孩子,找出小的那个,然后交换较小孩子和双亲节点,在比较左右孩子的时候要保证右孩子也存在才可以进行比较,就是child+1<size,原因就是这里是堆,是完全二叉树
46 0
|
算法 C++
【快乐手撕LeetCode题解系列】—— 复制带随机指针的链表
哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【快乐手撕LeetCode题解系列】—— 复制带随机指针的链表~ 都是精华内容,可不要错过哟!!!😍😍😍
66 0
|
算法 C++
【快乐手撕LeetCode题解系列】——移除元素
哈喽各位友友们😊,我今天又学到了很多有趣的知识,现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【快乐手撕LeetCode题解系列】——移除元素~ 都是精华内容,可不要错过哟!!!😍😍😍
69 0