列表

详情


NC231901. 简单的桌游问题

描述

bs发明了一个桌游,在开始时可以选择n个棋子,每个棋子相当于一座小岛,现在可以在任意两个棋子间架一座桥来连接它们,但每两个棋子间只能架一座桥。
在满足条件"不能有任意三个棋子可以互相直连"时,bs问:此时最多可以架多少座桥?

输入描述

输入包括一行,输入一个整数n (0 <= n <= 50000)

输出描述

输出包括一行,表示最大的桥数

示例1

输入:

2

输出:

1

示例2

输入:

3

输出:

2

示例3

输入:

4

输出:

4

说明:

对于第三个样例输入的两种可能解释:

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C 解法, 执行用时: 3ms, 内存消耗: 316K, 提交时间: 2021-12-23 20:11:33

#include<stdio.h>

int main()
{
	int n;
	long sum;
	scanf("%d",&n);
    sum = n/2*(n-n/2);
	printf("%ld",sum);
	return 0;
}

C++ 解法, 执行用时: 3ms, 内存消耗: 452K, 提交时间: 2021-12-28 21:26:29

#include<stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	printf("%d",(n/2)*(n-(n/2)));
}

Python3 解法, 执行用时: 44ms, 内存消耗: 4608K, 提交时间: 2021-12-22 17:21:42

n=int(input())

print(n//2*(n-n//2))

pypy3 解法, 执行用时: 109ms, 内存消耗: 25836K, 提交时间: 2022-01-22 17:21:51

print(int(input())**2//4)

上一题