2019年三峡大学新生编程赛||Circle

2019年三峡大学新生编程赛

3.CircleCircleCircle

(1)题目内容:

俗话说:“出题一时爽,样例火葬场”。——某小R
出题组有两个小R,但这并不重要,重要的是为了绞尽脑汁的给新生们挖坑(划掉)想测试数据出来,
小R很难过,很头秃,所以他选择去操场跑圈缓解一下压力。但是按照跑道一圈一圈的跑显然不是不受拘束的小R的风格,
他决定用跑圈圈的方式缓解压力顺便诅咒出题组其他人的头发掉光,很好,今天也是出题组和谐友爱风平浪静的一天。
他跑圈圈的时候想了一个问题,如果他跑了n个圈圈,抽象成为平面上有n个圆,
使这n个圆两两相交(即每两个圆之间恰好有两个交点)后最多能把平面划分成多少个区域?
鉴于小R跑圈圈的时候不甚清醒,所以他请聪明的你帮他解决一下这个问题。

(2)输入描述

第一行一个整数T(0<=T<=20)表示有T组样例,之后的T行每一行一个整数n(0<=n<=1e9),表示有n个圆

(3)输出描述

对于每一个测试样例,输出一个正整数answer,表示被划分的区域数

(4)输入样例

3
1
2
3

(5)输出样例

2
4
8

(6)限制条件

JAVA 运行时间 2000ms 运行内存 3000kb
C++ 运行时间 1000ms 运行内存 3000kb

(7)程序代码

#include<stdio.h>
int main()
{
	long long n,a[25],b[25],i;
	scanf("%lld",&n);
	for(i=0;i<n;i++)
	{
		scanf("%lld",&a[i]);
		if(a[i]!=0)
		b[i]=(2+a[i]*2-2)*(a[i]-1)/2+2;
		if(a[i]==0)
		b[i]=1;
	}
	for(i=0;i<n;i++)
	{	
		printf("%lld\n",b[i]);
	}
	return 0;
}

(8)解题思路以及题目分析

本题是一道思维题目,对于规律的总结非常重要,规律在于在加上第n个圆时,划分的面积多了多少块,由此总结,便能找到解题方法。(易错点:当没有圆时,平面还是有一个区域)

(9)题目总结

此题难度适中,主要在于思维和规律的寻找,以及n=0的情况,便不多分析。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值